Contributions are welcome. Follow the steps below to get started.
- Fork the repository and clone your fork.
- Create a feature branch from
main:git checkout -b feature/your-feature
- Install dependencies:
pnpm install
- Make your changes.
- Run the full test suite:
pnpm test:all
- Push your branch and open a pull request against
main.
Tests live in the tests/ directory, mirroring the src/ layout:
tests/unit/-- Unit tests (*.spec.ts). One file per source file, mocking only external dependencies.tests/integration/-- Integration tests (*.integration.spec.ts). Use real providers and Testcontainers where applicable.tests/e2e/-- End-to-end tests (*.e2e-spec.ts). HTTP boundary tests against a running app.tests/factories/-- Shared test data builders used across all suites.
Formatting and linting are enforced automatically via lint-staged on commit. You do not need to run them manually.
This project uses Conventional Commits:
<type>(<scope>): <description>
Types: feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert.
Open an issue at https://github.com/bbjansen/spoonfeed/issues with a clear description and steps to reproduce.