Skip to main content

cendor-init

One command to make your project Cendor-ready and Cendor-fluent for your AI assistant — plus a doctor that catches the wiring mistakes before they bite. Offline: no network, no API key.

uvx cendor-init            # detect + write assistant rules files (idempotent)
uvx cendor-init doctor     # validate the wiring; exit 1 on hard problems (CI-usable)

Optional developer tooling — dependency-free stdlib. It writes files and inspects your project; it makes no network call, and no Cendor library depends on it at runtime. (Node users: npx @cendor/init.) This is the Python twin of @cendor/init; both share the same behavior.

What init does

  1. Detects your project — Python (pyproject.toml / requirements) or Node (package.json), which provider SDKs you have, and which cendor-* / @cendor/* packages are installed.

  2. Writes the matching assistant rules file(s) so your assistant reads the correct Cendor call-shapes on every edit. Detected by default; --all for every one:

    • .github/copilot-instructions.md (GitHub Copilot)
    • .cursor/rules/cendor.mdc (Cursor)
    • AGENTS.md (the cross-tool default — always written)
    • a marked section in CLAUDE.md (Claude Code)
    • .windsurf/rules (Windsurf)

    Idempotent and safe: re-running updates a marker-delimited block in place — never duplicates, never clobbers your surrounding content. A dedicated file it didn't create is left alone unless you pass --force.

  3. Offers MCP setup (--mcp) — drops the connect config for the Cendor MCP server (remote mcp.cendor.ai or local uvx cendor-mcp / npx @cendor/mcp) where it's absent.

  4. Optional starter (--scaffold) — a minimal, correct starter for your language: a governed Agent loop (budget + guardrails + guard + audit) when cendor-sdk / @cendor/sdk is detected, otherwise an instrument() + budgeted-call example.

The rules content is a copy of section 3 of the docs source of truth, for-ai-assistants.

What doctor checks

Static checks only — it never mutates your project, and exits non-zero on hard problems so it works in CI:

  • Namespace — a stray cendor/__init__.py in your tree, or a bare import cendor (the namespace has no module body — import from cendor.<tool>).
  • Provider deps — a provider SDK your code imports but hasn't installed/declared (Cendor never pulls one for you; they are optional extras). Uses the installed environment when available.
  • instrument() once — warns if Cendor is imported but the client is never wrapped.
  • Money — flags coercing a price/cost to float (it should stay Decimal).
  • Versions — warns when an installed/pinned cendor-* version trails the latest release.
uvx cendor-init --help

Options

Flag Effect
--all write every assistant rules file, not just the detected ones
--assistant <list> comma-separated subset: copilot,cursor,agents,claude,windsurf
--mcp also drop MCP connect config where absent
--scaffold also write a correct starter — a governed Agent when the SDK is present, else instrument()+budget
--force overwrite an owned file (.cursor/rules/cendor.mdc) even if not ours
--dry-run show what would change without writing

Apache-2.0 · cendor.ai · For AI assistants · MCP

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cendor_init-0.3.0.tar.gz (34.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cendor_init-0.3.0-py3-none-any.whl (33.9 kB view details)

Uploaded Python 3

File details

Details for the file cendor_init-0.3.0.tar.gz.

File metadata

  • Download URL: cendor_init-0.3.0.tar.gz
  • Upload date:
  • Size: 34.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for cendor_init-0.3.0.tar.gz
Algorithm Hash digest
SHA256 a0305cd5e5c7cd546bb0d5f6f301515a234c02ef3c7538f92d4f46039829c214
MD5 7834209ef3edf73b7d0580cbc661b625
BLAKE2b-256 a71462cfc6495cf711a066f2653561445c33431f055aafd94cfe3933bc9f6ac0

See more details on using hashes here.

Provenance

The following attestation bundles were made for cendor_init-0.3.0.tar.gz:

Publisher: release-init.yml on cendorhq/cendor-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cendor_init-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: cendor_init-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 33.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for cendor_init-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4ee1758e9fe3acf1f7af58c22edfd6a41a4f0bd0c1e48b72c488a093dd6cfe6b
MD5 d20fdb9ee0b633f29e5af596c1241b0b
BLAKE2b-256 a73b5a0c9492fc88322b313cb695488438485b5fa57581643b3ec50207a2e022

See more details on using hashes here.

Provenance

The following attestation bundles were made for cendor_init-0.3.0-py3-none-any.whl:

Publisher: release-init.yml on cendorhq/cendor-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page