Developer documentation
This section is for contributors working on the Janissary codebase itself — not end users of the app. If you're looking for how to use Janissary, see the User Docs instead.
Start with npm start to run the app and npm test to run the test suite. From there:
- Contributing — how contributions work: draft plans by pull request, bugs and feature ideas by GitHub issue
- Documentation — building and previewing this docs site, and regenerating screenshots
- Testing — running the test suite
- Checking changes — the fast diff-scoped loop vs. the full end-of-work gate
- Code coverage — generating and reading coverage reports
- Code quality — FTA complexity scores and cognitive complexity lint warnings
- Code duplication — detecting copy-pasted code with jscpd
- CSS linting — stylelint for
web/src/theme.css - Dead code — finding unused exports, files, and dependencies with Knip
- Security checks — lint rules, secrets scanning, dependency auditing, and the threat model
- Linting — ESLint over the full tree or just your changes
- Commit conventions — the Conventional Commits format this repo requires
- Workspace sandbox — how workspaced agent tabs are confined on macOS