Prerequisites
Before you begin, ensure you have:- Node.js v22.x - Required for development (use
nvm use 22if you have nvm) - Git - For version control
- A code editor (VS Code recommended)
Important: Always use Node.js v22 for local development, even though
package.json allows older versions. If you switch Node versions after installing dependencies, run npm rebuild to recompile native modules.Quick Setup
Install Dependencies
Install all project dependencies:This will also set up Husky git hooks for pre-commit checks.
Build the Project
Build both server and web assets:This runs two Vite builds - one for web assets and one for the server.
Development Workflow
Running the Server
Start the production build:Running the Web Interface
To run just the web interface:Running Tests
Run all tests:E2E tests automatically build the project first via the
pretest:e2e script.Code Quality Checks
Lint your code:Git Workflow
Branch Naming
Use the following branch naming convention:feat/123-add-cachefix/456-search-bugdocs/789-update-readme
Commit Message Format
Commit messages are strictly enforced bycommitlint. Your commits will fail if the format is incorrect.
Format:
feat- New featurefix- Bug fixdocs- Documentation changesstyle- Code style changes (formatting, missing semicolons, etc.)refactor- Code refactoringperf- Performance improvementstest- Adding or updating testsbuild- Build system changesci- CI/CD changeschore- Other changes (dependencies, config, etc.)revert- Revert a previous commit
- Must be lowercase
- Must NOT end with a period
- Keep header under 100 characters
Scope is optional but recommended. The body and footer should be separated from the header with a blank line.
Pre-commit Hooks
Husky runs automatically before each commit to:- Run linting checks
- Run type checking
- Run all tests
Security Guidelines
NEVER commit:- Secrets or API keys
- Credentials or passwords
.envfiles with sensitive data- Personal access tokens
- Any other sensitive information
Opening a Pull Request
When you’re ready to contribute:Getting Help
If you have questions or need help:- Check the Architecture documentation
- Review existing GitHub issues
- Open a new issue with your question
Next Steps
Code Style Guide
Learn about code conventions and formatting
Testing Guide
Understand the testing strategy
Architecture Patterns
Deep dive into system architecture
