Repository map
Use this map to find the owner of a change before adding code.
| Directory | Responsibility |
|---|---|
| apps/injector | React desktop frontend, Tauri commands and native window configuration |
| packages/injector-core | Rust contracts, target discovery, validation, transactional operations, persistence |
| packages/schemas | Shared generated types and runtime validation |
| packages/plugin-api | Public TypeScript SDK and plugin definition |
| packages/plugin-tools | Plugin build and ZIP packaging CLI |
| packages/runtime | Bootstrap, plugin reconciliation, sandbox RPC, host services and settings UI |
| packages/adapters | Fluxer DOM integration and compatibility-specific interface hooks |
| plugins | Independently owned bundled plugin implementations |
| plugin-creation/starter | Standalone external-plugin template |
| tests/fixtures/fake-fluxer | Generated controlled Electron application and integration scripts |
| scripts | Catalog generation, architecture and documentation checks, acceptance runners |
| docs | Canonical Astro/Starlight documentation site |
| .github/workflows | Windows/Linux CI and documentation build checks |
Follow a feature through the system
Section titled “Follow a feature through the system”A plugin calls the public SDK. The sandbox bridge validates and serializes the operation. Runtime services validate the request and use adapters or a bounded main-process operation when necessary. Rust handles installation and persistent contracts.
Start with runtime architecture for plugin execution, or injector transactions for application-file changes.
Ownership rule
Section titled “Ownership rule”Generic services belong in core. Feature-specific UI, selectors, and service URLs belong in plugins. pnpm test:architecture checks these boundaries.
The website is canonical for instructions. Old plugin-creation Markdown pages are navigation pointers; maintain the corresponding website articles.
