Contributing
Thank you for contributing to izhubs. This guide covers the three main ways to contribute.
1. Add an industry template
Section titled “1. Add an industry template”Templates configure izhubs for a specific business type (agency, restaurant, etc.).
File location: templates/industry/<your-industry>/
templates/industry/my-industry/ index.ts ← Exports the template config stages.ts ← Default deal pipeline stages aiPrompt.ts ← AI niche description for Level 3 customizationFollow the structure of an existing template (agency is the simplest reference).
2. Build a module (v0.2 guide coming soon)
Section titled “2. Build a module (v0.2 guide coming soon)”Modules add new functionality to izhubs and communicate with the rest of the system through the EventBus only.
Key rules for any module:
- Your module must never import directly from another module’s engine
- All state changes must emit an event via
eventBus.emit() - Your module must include a
module.config.tswithenabled: boolean - Any DB changes ship with a sequential migration file
3. Submit a pull request
Section titled “3. Submit a pull request”- Fork the repo on GitHub
- Create a branch from
master(neverproduction) - PRs must pass:
npm run typecheck+npm run test:contracts - Target:
masterbranch — Coolify auto-deploys fromproduction
Commit format:
feat(crm): add bulk contact importfix(auth): refresh token expiry edge casedocs(arch): update 4-tier diagram