## Summary
- Re-apply the Algolia docs search migration after the previous PR was
merged and reverted.
- Keep the existing Fumadocs search UI while using Algolia API when
search keys are configured, with `/api/search` fallback for local
development and tests.
- Add a first-party Algolia index builder/sync script that creates
section-sized docs records from MDX/OpenAPI/toolkit/changelog content,
configures index relevance settings, and replaces index objects without
relying on Algolia Crawler.
- Add Algolia Insights view/click events and a terminal search relevance
test script.
- Clean search breadcrumbs so results show labels like `Toolkit` and
`Cookbook` instead of duplicated `toolkits > Gmail` formatting.
## Tests
- `cd docs && bun run types:check`
- `cd docs && bun run sync:search --dry-run`
- `cd docs && bunx eslint components/custom-search-dialog.tsx
lib/search-index.ts scripts/sync-algolia-search.ts
scripts/test-algolia-search.ts`
## Notes
- Live Algolia sync requires `ALGOLIA_ADMIN_API_KEY`.
- Live search relevance tests require `ALGOLIA_SEARCH_API_KEY` or
`NEXT_PUBLIC_ALGOLIA_SEARCH_API_KEY`.
## Summary
- Switch docs search dialog to Algolia when public Algolia env vars are
configured, with local `/api/search` fallback for development/tests
- Add a shared docs search index builder plus `bun run sync:search` to
publish records to Algolia
- Add a GitHub Actions workflow to dry-run and sync the Algolia index on
`next` docs changes when secrets are configured
- Document required Algolia env vars and sync command
## Tests
- `cd docs && bun run types:check`
- `cd docs && bun run sync:search --dry-run`
- `cd docs && bun test tests/static/`
- `cd docs && bunx eslint components/custom-search-dialog.tsx
lib/search-index.ts scripts/sync-algolia-search.ts`
- `cd docs && bun run build`
## Notes
- `bun run lint` still fails on existing unrelated repo-wide lint errors
in files outside this change (for example `app/global-error.tsx`,
`components/ask-ai-button.tsx`, `components/version-selector.tsx`). The
changed search files pass targeted ESLint.
- Production search requires `NEXT_PUBLIC_ALGOLIA_APP_ID`,
`NEXT_PUBLIC_ALGOLIA_SEARCH_API_KEY`, and optionally
`NEXT_PUBLIC_ALGOLIA_INDEX_NAME` (default `composio_docs`). Index
syncing requires `ALGOLIA_APP_ID`/`ALGOLIA_ADMIN_API_KEY` secrets.
Add a programmatic Meta Tools reference under Reference > Meta Tools,
powered by data fetched from the Tool Router API.
- Generator script fetches tool schemas from API, produces JSON + MDX
- CI auto-updates via docs-update-data.yml on Apollo deploys
- Individual tool pages show tags, input parameters, and response schemas
- .md endpoint renders full parameter details for LLM consumers
- Updated existing docs to include COMPOSIO_GET_TOOL_SCHEMAS
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix checkout to use ref: next (Cursor bot high severity)
- Use prompt instead of deprecated direct_prompt (Cursor bot low severity)
- Add docs/.claude/context/pipelines.md with reference for all workflows
- Add pipelines.md to CLAUDE.md context index
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Stripe-inspired two-column layout with client-side filtering.
Markdown converter handles GlossaryTerm→heading conversion for
LLM-friendly output. Added glossary link to LLM footer, search
shortcuts, and CLAUDE.md documentation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add visible Send button to chat forms (page.tsx + page-with-tools.tsx)
- Add "View source on GitHub" link to chat-app cookbook
- Add code review guidelines to CLAUDE.md for tutorial code in examples/
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Invisible instructions appended to every .md endpoint that steer AI code
generators toward the session-based pattern (composio.create + session.tools)
and provide correct direct execution patterns on tagged pages.
- Session guardrails (default): correct pattern, ALWAYS/NEVER/DISCOURAGED rules
- Direct execution guardrails: auth link flow, tool execute flow, key rules
- Frontmatter-scoped via llmGuardrails field (Zod-validated)
- llms-full.txt prepends guardrails once at top, not per-page
- 12 MDX pages tagged with llmGuardrails: "direct-execution"
- Remove dead /cookbooks path check from nav components
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Disable the API playground (spec quality issues make it unusable).
Add documentation for all API reference customizations including
why CSS overrides are necessary (no hooks available for parameter
field indicators and content type labels).
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add guidance to prefer cURL commands over UI "click" instructions
when documenting API interactions. This makes docs more useful for
AI agents that increasingly consume documentation to help users.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Replace CopyPage with PageActions component (copy + view as markdown)
- Disable twoslash in dev mode to prevent heap memory issues
- Document twoslash dev/prod behavior in CLAUDE.md
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>