Skip to main content

Offline CLI to make your project Cendor-ready and Cendor-fluent for your AI assistant (init) and catch wiring mistakes (doctor). Run with `uvx cendor-init`.

Project description

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

Project details


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.2.2.tar.gz (26.6 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.2.2-py3-none-any.whl (28.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cendor_init-0.2.2.tar.gz
  • Upload date:
  • Size: 26.6 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.2.2.tar.gz
Algorithm Hash digest
SHA256 0061ce2daa970b532c0c556f832f1c360ac03ce83e4a8ec6357b1854707e4553
MD5 23e37f79927ae8d2f84ef64a66ddf134
BLAKE2b-256 3a83afbea84757bef7631ef5795207fe6e135bd6c723fdeed577ecf0c569d6b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for cendor_init-0.2.2.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.2.2-py3-none-any.whl.

File metadata

  • Download URL: cendor_init-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 28.1 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.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9a70474ab375c7b41a31ae907b340c739857e856754b9221b6fefa81af64d7ab
MD5 f601150b00be5d25371f54b9210be8bc
BLAKE2b-256 ca02be6f6fe91a0d1438802037b11d447fb094618a3c0b954c401af81a5a40f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for cendor_init-0.2.2-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.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page