mirror of
https://github.com/diodeinc/pcb.git
synced 2026-09-14 20:17:19 +08:00
1.3 KiB
1.3 KiB
AGENTS.md
Commands
cargo run -p pcbc -- <command>runs the compiler CLI;pcbis the shim/version manager.cargo nextest run -p <crate>runs crate tests;cargo test --doc -p <crate>runs doctests separately.uv run pytest crates/pcb-layout/src/scripts/lens/tests/ -vruns layout-lens tests.
Keep checks scoped to the change. Report changed snapshots; do not accept them without user approval.
Non-obvious constraints
- Language semantics live in
pcb-zen-coreand the pinneddiodeinc/starlark-rustfork; workspace/package resolution lives inpcb-zen. - For layout sync changes, see
crates/pcb-layout/README.md; for import changes, seecrates/pcbc/src/import/README.md. - Use
anstreamfor incidental CLI output. Structured/binary stdout renderers must remain fallible overstd::io::Write, called throughpcb_ui::write_stdout. Do not catchBrokenPipeprocess-wide. Gate CLI dependencies/imports in non-CLI or WASM builds. - Before pushing, fetch and rebase onto
origin/main, then fast-forward push; no merge commits.
Documentation
- Add one succinct
CHANGELOG.mdentry underUnreleasedper user-visible change. - Update
docs/pages/spec.mdxfor language changes anddocs/pages/packages.mdxfor workspace/dependency/package changes.