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)¶
- Layering rules — dependency boundaries and guardrails
- Generated Rust stdlib coverage — generated-Rust coverage inventory for stdlib modules
Design (RFCs and roadmap)¶
RFCs are design records (not canonical user docs):
Before proposing new language features (syntax/semantics), read: