syncanix init
Discover your API, build the capability catalog, and upload it — with consent-gated AI enrichment.
init is the command you’ll run most. It scans your project, turns your API into a capability catalog, and uploads it to your workspace.
npx syncanix initOptions
- -f, --framework <name>
- Force a specific framework instead of auto-detecting. Accepts any framework Syncanix supports — for example nestjs, express, fastapi, django, or laravel.
- --env <env>
- Target the development (default) or production environment when uploading the catalog.
- --offline
- Write the catalog locally without uploading it.
- -y, --yes
- Accept defaults and skip prompts — enrichment uses your local provider keys when they’re set, and is skipped otherwise.
- --byok-key <key>
- Use your own LLM provider key for enrichment, instead of the keys in your environment.
- --byok-provider <provider>
- The BYOK provider — anthropic or openai. Inferred from the key format when omitted.
- --force
- Proceed past the enrichment cost cap, accepting the estimated spend.
- --reset-consent
- Clear the stored enrichment consent so init asks again.
- --init-config
- Regenerate the starter .syncanix.yaml and .syncanixignore (overwrites existing files).
- --graphql-endpoint <url>
- Introspect a running GraphQL endpoint to type code-first mutations.
- --telemetry
- Enable anonymous usage telemetry (off by default).
What it does
- Detects your frameworksScans the project and reports every framework it recognises — not just the top one.
- Extracts capabilitiesReads your routes and builds a structured list of capabilities, with their inputs and side effects.
- Applies .syncanixignoreDrops anything matching your ignore rules before it’s written, enriched, or uploaded.
- Asks about AI enrichmentShows a cost estimate and asks how you’d like to proceed before any code text is sent to a provider.
- Writes the catalogSaves a deterministic .syncanix/catalog.json you can review and commit.
- Uploads itSends the catalog to your workspace, unless you passed --offline or have no API key yet.
Static by default
Discovery reads your code; it never runs it, and no production data leaves your machine. The only thing that can be sent is the structured catalog — and AI enrichment only happens with your explicit consent.
Consent for AI enrichment
AI enrichment writes clearer titles and descriptions for your capabilities. Before sending anything, the CLI shows exactly what would be sent (capability ids, methods and paths, argument names, and a short, secrets-redacted handler excerpt) and what would not (source files, your data, secrets, anything ignored). You then choose a mode:
- Local keys
- Use the Anthropic and OpenAI keys already in your local environment, with zero-data-retention enforced. Enrichment runs from your machine — there is no Syncanix-hosted enrichment service.
- BYOK
- Use your own provider key; handler text goes straight from your machine to the provider, and Syncanix never sees it.
- Skip
- No enrichment — ship extractor-only metadata and enrich later from the dashboard.