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.0.tar.gz (24.9 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.0-py3-none-any.whl (27.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cendor_init-0.2.0.tar.gz
  • Upload date:
  • Size: 24.9 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.0.tar.gz
Algorithm Hash digest
SHA256 d736cbeed9ffec37ac398ea49efafcd19403a8429266b7d677c0ae7839b2c948
MD5 7e48125f9072957021ac5186ec1adb56
BLAKE2b-256 97d41b538e90d8c2014b69681933db5ad0aadb9fff949ad2affbecea6ef468ef

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: cendor_init-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 27.2 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fa8fe5b2da6a1420a99a250d4e69de31f9970086c40f78511943f658b1c5e6cf
MD5 07dfcdcc05df673236a7fa586f26bccc
BLAKE2b-256 4fc8b9d231a7a1ed2914910a46b29a38d28055c1cd7a6497171041cfb69e958e

See more details on using hashes here.

Provenance

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

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