Skip to content

Contributing

Thank you for contributing to izhubs. This guide covers the three main ways to contribute.


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 customization

Follow 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.ts with enabled: boolean
  • Any DB changes ship with a sequential migration file

  • Fork the repo on GitHub
  • Create a branch from master (never production)
  • PRs must pass: npm run typecheck + npm run test:contracts
  • Target: master branch — Coolify auto-deploys from production

Commit format:

feat(crm): add bulk contact import
fix(auth): refresh token expiry edge case
docs(arch): update 4-tier diagram