This commit is contained in:
34
.ai-rulez/rules/alef-generated-bindings.md
Normal file
34
.ai-rulez/rules/alef-generated-bindings.md
Normal file
@@ -0,0 +1,34 @@
|
||||
---
|
||||
priority: critical
|
||||
---
|
||||
|
||||
# Alef-Generated Bindings
|
||||
|
||||
Files in `packages/*/` and binding crates are generated by Alef — DO NOT manually edit.
|
||||
|
||||
## Workflow
|
||||
|
||||
1. Check `alef.toml` before editing anything in `packages/*/` or binding crates
|
||||
2. Modify Rust source files or `alef.toml` itself
|
||||
3. Run `task alef:generate` to regenerate all Alef-managed output without formatting (`alef all --clean --format=false`)
|
||||
4. Run `task alef:format` explicitly if Alef post-generation formatting is needed
|
||||
5. Run `task e2e:test` or `task e2e:all` to verify
|
||||
6. Commit Rust source + `alef.toml` + regenerated bindings atomically
|
||||
|
||||
## Rename Mappings (from `alef.toml`)
|
||||
|
||||
- **Go**: `DocumentExtractor` → `Extractor`
|
||||
- All other languages: no renames
|
||||
|
||||
## Freshness Check
|
||||
|
||||
`task alef:generate && git diff --exit-code packages/ crates/kreuzberg-node/ crates/kreuzberg-wasm/ crates/kreuzberg-ffi/`
|
||||
|
||||
## Key `alef.toml` Sections
|
||||
|
||||
- `[crate]` — Rust source files parsed for type/function extraction
|
||||
- `[languages.*]` — per-language output path, module name, rename mappings
|
||||
- `[e2e]` — e2e test generation: fixtures dir, output dir, per-language call overrides
|
||||
- `[readme]` — README template generation per language package
|
||||
|
||||
Canonical e2e tasks are `task e2e:generate`, `task e2e:build`, `task e2e:test`, and `task e2e:all`. Do not add legacy aliases.
|
||||
Reference in New Issue
Block a user