Skip to content

Follow Project Standards

Caracal style favors small, explicit boundaries and source-aligned documentation.

LanguageRequired styleEnforcement
TypeScript and JavaScriptTypeScript Handbook style plus the repository Prettier profile in .prettierrc.json.pnpm run style checks changed TS/JS source files with Prettier.
GoEffective Go with canonical gofmt formatting.pnpm run style checks changed Go source files with gofmt -l.
PythonPEP 8 layout as formatted by Ruff.pnpm run style checks changed Python source files with ruff format --check.

Use pnpm run style:fix to format changed files before committing. Pull requests run the same changed-file style gate automatically for primary-language source files.

ConventionApply it
Keep changes focusedAvoid unrelated refactors in feature or docs PRs.
Prefer explicit validationFail closed on auth, policy, config, stream, and key errors.
Preserve product boundariesDo not couple open-source code to enterprise-only code.
Respect command ownershipRuntime CLI is lifecycle/setup; Console/Admin/Control own product management.
Use existing shared layersReuse core config, errors, crypto, logging, engine dispatch, and SDK helpers.
Page typePattern
LandingPurpose, audience, map, recommended reading path.
WorkflowPrerequisites, steps, validation, troubleshooting, related links.
ReferenceExact names, defaults, tables, examples, source-of-truth links.
ArchitectureDiagram, component responsibilities, flow, boundaries, related pages.

Do not use docs to preserve stale command names, screenshots, package names, or workflows. Update the whole affected page coherently.

  • Top-level caracal commands are limited to runtime lifecycle, setup, and caracal run.
  • Product-management workflows for zones, policies, grants, audit, agents, delegation, and Control belong in Console, Admin SDK, or Control API docs.
  • Open-source code must not import, reference, or depend on enterprise-only code.
  • Security-sensitive findings must follow Report a Vulnerability, not public issues.

Use canonical terms from Glossary: zone, principal, resource, grant, policy, policy set, mandate, agent session, delegation edge, audit ledger, Console, Control API, STS, Gateway.

Use Make a Change to plan and submit a focused pull request.