Development guide for the Zammad open-source helpdesk platform covering Rails backend, legacy CoffeeScript desktop-app, and modern Vue 3 frontends (desktop-view and mobile).
This skill provides AI agents with a fast, reliable mental model of the Zammad repository to ship changes with minimal trial-and-error.
Zammad is an open-source helpdesk/customer support platform built as a Ruby on Rails application with:
**Legacy desktop-app** (`app/assets/`):
**Modern frontends** (desktop-view and mobile in `app/frontend/apps/`):
**Backend**:
Contains core extensions, helpers, integrations, and business logic:
Always refer to these files for authoritative setup and environment details:
1. Located in `app/assets/javascripts` and `app/assets/stylesheets`
2. Uses Spine.js for MVC structure - most modules are Spine classes
3. Communicates via REST API endpoints (see Rails controllers)
4. Linting: Use `coffeelint.json` configuration
5. Testing: QUnit tests in `test/` directory
6. **Minimize changes** - prefer implementing new features in desktop-view/mobile apps
1. **Use path aliases** from `tsconfig.base.json` for imports
2. **Never cross-import** between desktop/mobile apps - ESLint enforces app boundaries
3. **Shared code** goes in `app/frontend/shared/`
4. **Testing**: Write Vitest + Testing Library tests in `app/frontend/tests/`
5. **Styling**: Use Tailwind CSS utility classes
6. **Linting**: Code must pass ESLint, Stylelint, and Prettier checks
7. **i18n**: Wrap all user-facing strings for translation (see `eslint.config.ts` for rules)
1. **Consult the Developer Manual** (`doc/developer_manual/`) for setup, testing, and coding standards
2. **Check config files** for tool versions, scripts, and environment variables
3. **Avoid over-engineering** - only make changes directly requested or clearly necessary
4. **Keep solutions simple** and focused on the task
5. **Don't add unnecessary features** or refactor surrounding code
6. **Avoid premature abstractions** - prefer simple, direct code
7. **Delete unused code completely** - no backward-compatibility hacks like `_vars` or `// removed` comments
8. **Include tests** for all new code
9. **Keep PRs focused** on a single concern
10. **Security**: Avoid OWASP Top 10 vulnerabilities (XSS, SQL injection, command injection, etc.)
1. The **Developer Manual** (`doc/developer_manual/`) is the source of truth for setup, testing, and standards
2. **Reference config files** instead of assuming or duplicating information
3. **Ask for clarification** before making architectural decisions
4. **Start with the simplest solution** that meets requirements
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/zammad-development-guide-w8i80p/raw