---
name: xberg-io/alef-generated-bindings
source: https://app.decimal.ai/s/xberg-io-alef-generated-bindings@1/SKILL.md
source_sha256: 1a32bef5aac5
---

# 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/xberg-node/ crates/xberg-wasm/ crates/xberg-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.