follow its links to the relevant pages.
- Treat source code and tests as authoritative. A brief's unknowns and review items are verification gaps, not automatic requirements.
- Prefer the narrowest
year from now? Is it genuinely essential and **non-obvious from the code itself**?
## CodeReview
Unless you have specific instructions to the contrary, when asked to reviewcode (named
This file
summarizes; it never overrides it.
## Review guidelines
These rules apply to all codereviews on this repository, including automated
reviewers (Codex, CodeRabbit).
- **Language:** always review in English, regardless
boundary
Every workflow, ownership, branch-enforcement, release, or repository-automation
change requires explicit security review under `MAINTAINERS.md`.
## Workflow rules
- Grant the minimum required `permissions`.
- Pin third-party actions to immutable
APIs. Introduce a Node-only runtime dependency only when the task explicitly requires compatibility code and the owning module already has that role.
- Preserve existing public exports and configuration compatibility
that followed it. Reasoning written as ordinary
prose is not detectable and stays a review judgement. The check is a literal match, which is why
this line describes the marker
that covers the change. Use broad wrappers
when touching shared surfaces or before handoff:
- Code tests: `scripts/test/test.sh` (JS, then Python, then policy).
- Focused runners: `scripts/test/test-js.sh`, `scripts/test/test-docs.sh`,
`scripts/test/test-python.sh`, `scripts/test/test-global.sh`.
`test-python.sh` takes
namespace catalog, running crumbs init"
load: "node_modules/agentcrumbs/skills/agentcrumbs/init/SKILL.md"
## agentcrumbs
Add crumbs as you write code — not just when debugging. Mark lines with
`// @crumbs` or wrap blocks in `// #region @crumbs`. They
skills/transformers-js/SKILL.md) — how to use the library
itself. Load this skill when working on code that calls `@huggingface/transformers`.
## Contributing
Before opening a pull request:
- **Check for existing work.** Search open
design system lives in `packages/cli/.agents/skills/cli-ux/` and should be loaded only when the task or codereview touches user-facing CLI behavior.
## First Steps
1. Inspect the current source and tests
generate-check` so generated code stays in sync.
- Do not leave formatting or generated-file drift for the user to discover at
push or review time; run the relevant `make
package for building source-cited,
compounding Obsidian knowledge bases. It also ships a Claude Code plugin adapter.
The portable workflow is implemented in `skills/` and the standard-library
`claude_obsidian
need to run every lane separately first. Reuse passing results for unchanged code; rerun or broaden checks when subsequent edits, failures, or unresolved risks warrant it.
- Required PR checks must
Protected APIs exist** — changes to LLM API signatures will fail `tests/unittest/api_stability` tests. Get code owner review.
- **Integration tests need GPUs + models** — always set `LLM_MODELS_ROOT` and ensure GPU access
error -- and the corruption appears
in whatever code runs next, not at the mismatch.
## High-risk changes
Use extra review and tests for changes involving:
- destructor, `shutdown()`, `close()`, tree detachment
Contributors are responsible for every change they submit, including agent-generated code.
They must understand the changes, review the diff, and verify the behavior before requesting
review.
- Ask for clarification
verification plan. Do not substitute a narrower test while claiming end-to-end coverage.
## Codereviews
- Review for correctness before style. Trace the changed behavior through its callers, shared state