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

Metadata

Release files for cendor-init 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cendor-init 0.3.0
File Size Uploaded Provenance Actions
cendor_init-0.3.0.tar.gz 34.7 kB With provenance Details for cendor_init-0.3.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for cendor-init 0.3.0
File Interpreter ABI Platform Actions
cendor_init-0.3.0-py3-none-any.whl Python 3 none any Details for cendor_init-0.3.0-py3-none-any.whl

Total release size: 68.5 kB

Release files / cendor_init-0.3.0.tar.gz

Download URL cendor_init-0.3.0.tar.gz
Size 34.7 kB
Tags Source
SHA-256 checksum
How to use checksums
a0305cd5e5c7cd546bb0d5f6f301515a234c02ef3c7538f92d4f46039829c214
BLAKE2b-256 checksum
How to use checksums
a71462cfc6495cf711a066f2653561445c33431f055aafd94cfe3933bc9f6ac0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.

Transparency log

Release files / cendor_init-0.3.0-py3-none-any.whl

Download URL cendor_init-0.3.0-py3-none-any.whl
Size 33.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4ee1758e9fe3acf1f7af58c22edfd6a41a4f0bd0c1e48b72c488a093dd6cfe6b
BLAKE2b-256 checksum
How to use checksums
a73b5a0c9492fc88322b313cb695488438485b5fa57581643b3ec50207a2e022
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.

Transparency log

Security for cendor-init 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for cendor_init-0.3.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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