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 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

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.1.0.tar.gz (23.3 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.1.0-py3-none-any.whl (26.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cendor_init-0.1.0.tar.gz
  • Upload date:
  • Size: 23.3 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.1.0.tar.gz
Algorithm Hash digest
SHA256 b9eac67abf7da450a476d36f6e4b7e52b15ef89558cf9166290e5403b156a8fa
MD5 666a3ed474c70e8f5278f771e6f8e8eb
BLAKE2b-256 13535f1a7f25bb6da38a0570f59e26ab1a8a1921203ecc516a52f43815d5dd0d

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: cendor_init-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 26.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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9ee740a89c9ca634bca50e3548ddd68983d36072fafc283d25e6e35419cf6b9c
MD5 73c36b366b9fb6afc69021348b4f37b4
BLAKE2b-256 33344bab3a3af75a321bda93bcebf6fa98aa9e44cad82072e13a3cbb09c074fd

See more details on using hashes here.

Provenance

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