English · Português
Contributing
Issues and pull requests are welcome: bug reports with Help › Diagnostics attached, confirmations of agents marked "to be confirmed", Windows testing, translations and documentation.
Layout
crates/kabul-core: Rust core (worktrees, git, harnesses, transcript, settings, terminal backends, usage).crates/kabuld: the server for the phone, other machines and collaboration.crates/kabul-cli:kabulCLI,kabul serve(HTTP RPC used by the end-to-end tests against the real core) andkabul loadtest.apps/web: React UI (also the phone PWA insrc/mobile).apps/desktop: Tauri shell.docs: this site (VitePress), in English (docs/guide) and Portuguese (docs/pt-BR/guia), plus the technical reference in Portuguese at the root ofdocs/.
Commands
sh
cargo test # core, server and CLI
cd apps/web && npm run build # UI
cd apps/web && npm run e2e # Playwright: mock backend and the real core through kabul serve
cd apps/web && npm run perf # performance budgets (100 workspaces, 30 agents)
cd apps/web && npm run docs:shortcuts # regenerate the shortcut tables from src/i18n/shortcuts.json
cd apps/web && npm run i18n:check # UI text: no hard-coded strings, no key missing in a language
cd docs && npm ci && npm run docs:dev # this site, with hot reload
cd docs && npm run docs:build # build the site (must pass before merging docs changes)Rules
- No personal data in commits, fixtures or screenshots (use the
devuser,/home/devand example domains). - New macOS-only code goes behind an adapter and is listed in the Windows reference.
- UI text lives in
apps/web/src/i18n/locales/{en,pt-BR}/*.jsonand is read witht("area.key"); every key exists in both languages, plurals use{ "one", "other" }withcount, and dates, numbers, money and durations go throughsrc/i18n/format.ts.npm run i18n:checkfails on hard-coded text in JSX or a key missing in a language. Details in the i18n reference (in Portuguese). - Documentation changes go in both languages. Don't promise what isn't confirmed: mark it as beta or "to be confirmed".
Commits (Conventional Commits), versions, changelog, CI and releases: CONTRIBUTING.md at the root of the repository.