Contributing: Start here¶
This section is for contributors working on the Incan compiler/tooling and language evolution.
If you’re new, start with:
How-to guides (do)¶
- Extending the Language — when to add builtins vs new syntax; end-to-end checklists
- Author Library DSLs with
incan_vocab— how to publish import-activated DSL blocks, scoped surfaces, and desugarers - Auditing generated Rust — how to produce strict-surface generated Rust review reports
Tutorials (learn)¶
- Contributor Book (Advanced, Rust-first): Book index
Explanation (understand)¶
- Architecture — compilation pipeline, module layout, internal stages
- Duckborrowing — backend ownership planning for generated Rust
- Generated Rust quality — quality, performance, and hostability contract for emitted Rust
- Readable, maintainable Rust — team conventions and engineering practices
Reference (look up)¶
- Contributors — community acknowledgements for external contributions
- Backend behavior inventory — phase-0 inventory for preserving supported behavior during backend replacement
- Layering rules — dependency boundaries and guardrails
- Generated Rust stdlib coverage — generated-Rust coverage inventory for stdlib modules
- Hees.ai v0.5 dependency inventory — proof-lane dependency map and scope guardrails
- Rust-source backend deprecation policy — compatibility rules while semantic authority moves out of generated Rust
Design (RFCs and roadmap)¶
RFCs are design records (not canonical user docs):
Before proposing new language features (syntax/semantics), read: