This guide is meant for contributors and maintainers working on Condense locally.
- Install dependencies with npm install.
- Run the test suite with npm test.
- Run linting with npm run lint.
- Run the build script with npm run build.
- src/ contains the public API, Express app, controllers, middleware, and services
- src/services/ contains the format-specific optimization logic
- tests/ contains Node.js test cases for each service
- demo/ and examples/ provide sample assets and integration patterns
- docs/ contains the end-user and contributor documentation
- Identify the service or layer that owns the behavior you want to change.
- Add or update tests before changing behavior when possible.
- Make a focused change that preserves the existing public API unless a breaking change is intentional.
- Re-run the relevant tests and the full validation commands.
Run these before opening or updating a pull request:
npm test
npm run lint
npm run buildWhen introducing a new format or processor:
- Add the implementation under src/services/
- Route the new format through the controller logic if it is exposed via the HTTP API
- Add tests under tests/
- Update the relevant docs and examples
- Follow the existing 2-space indentation style
- Keep functions small and focused
- Prefer reusable helpers over duplicated logic
- Preserve the stateless, in-memory architecture unless a specific exception is justified