Thank you for your interest in contributing to @future.ai libraries! This guide will help you get started.
- Fork and clone the repository
- Install dependencies:
pnpm install
- Create a new branch:
git checkout -b feature/your-feature-name
To create a new library package:
./scripts/create-package.sh your-library-nameThis creates a new package with all necessary configuration files.
- Make your changes in the appropriate package
- Write/update tests
- Run tests to ensure everything works:
pnpm test - Build the package:
pnpm run build
- Lint your code:
pnpm run lint
- Write unit tests for all new functionality
- Place tests in the
testdirectory of the package - Run tests with
pnpm test - Aim for high code coverage
- We use ESLint and Prettier for code formatting
- Run
pnpm run formatto format your code - Follow NestJS best practices and conventions
We follow conventional commits specification:
feat:New featuresfix:Bug fixesdocs:Documentation changesstyle:Code style changes (formatting, etc.)refactor:Code refactoringtest:Test additions or modificationschore:Maintenance tasks
Example:
feat(common): add new validation decorator
- Update documentation if needed
- Ensure all tests pass
- Update the README.md with details of changes if applicable
- Submit a pull request with a clear description
Only maintainers can publish packages. The process is:
- Merge PR to main branch
- Run
./scripts/publish.sh - Lerna handles versioning and publishing
If you have questions, please open an issue for discussion.