reqlanOverviewIdeasFilesCode filesClustersAttributesGraphPrint

Printable idea sheet

rust_crate_layout

reqlan rq/core_analysis/rust_port.rq:59

Katz 0.138

Cargo workspace at repo-root `crates/` ( not inside `packages/analytical` ), crates:
- `reqlan-parse` — lexer, parser, AST, recovery, parse budget
- `reqlan-index` — extract, rusqlite store, mtime sync, diagnostics
- `reqlan-search` — fuzzy / contextual / semantic ranking
- `reqlan-export` — snapshot + html / md / json / csv writers; embed existing HTML JS assets
- `reqlan-analytical` — facade matching `AnalysisApi` + `WorkspaceIndex` operations
- `reqlan-napi` — Node binding for the core engine ( native_bridge )
- `reqlan-lsp` — editor language server ( language_server_rust )
Mature crates only ( rusqlite, napi ): no experimental parser generators for the lexer.
Golden tests compare Rust extract against Langium on the frozen golden_corpus, plus the language-test fixtures ported into `reqlan-parse` / `reqlan-index` tests.
Format: rust_fmt.
Root `pnpm test` runs `test:js` then `test:rust` from package.json. `test:rust` is `cargo test --workspace --exclude reqlan-napi`. GitHub CI compiles crates once, then runs `cargo test` as its own step so crate tests reuse that build ( ci_gate ).

implementation
package.json, Cargo.toml
status
done
tests
golden_corpus.rs:corpus_idea_names_match_langium_extract, langium-corpus-golden.test.ts:committed dump matches live Langium extract, release-ci-gate.test.ts:pnpm test runs crate tests

Interactive page: rust_crate_layout