Thank you for your interest in contributing to the Build AI Agent SDK! This document provides guidelines and instructions for contributing.
By participating in this project, you agree to maintain a respectful and inclusive environment for everyone.
- Node.js >= 18.0.0
- npm, pnpm, or yarn
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/agent-sdk.git cd agent-sdk - Install dependencies:
npm install
- Build the project:
npm run build
- Run tests:
npm test
-
Create a new branch:
git checkout -b feature/your-feature-name
-
Make your changes
-
Ensure your code passes all checks:
npm run typecheck # Type checking npm run lint # Linting npm test # Tests npm run build # Build
-
Commit your changes with a descriptive commit message
-
Push to your fork and create a pull request
- Use TypeScript for all code
- Follow existing code patterns and conventions
- Add JSDoc comments for public APIs
- Keep functions small and focused
- Write meaningful variable and function names
- Write tests for new features
- Ensure all existing tests pass
- Aim for good test coverage
- Tests are located alongside source files with
.test.tsextension
- Update README.md if adding new features
- Add JSDoc comments for new public APIs
- Update CHANGELOG.md for notable changes
-
Ensure your PR includes:
- Clear description of changes
- Tests for new functionality
- Updated documentation if needed
-
Your PR will be reviewed by maintainers
-
Address any feedback
-
Once approved, your PR will be merged
When reporting issues, please include:
- A clear and descriptive title
- Steps to reproduce the issue
- Expected behavior
- Actual behavior
- Node.js version
- Operating system
- Any relevant code snippets or error messages
Feature requests are welcome! Please:
- Check existing issues to avoid duplicates
- Provide a clear use case
- Explain why this feature would be useful
By contributing, you agree that your contributions will be licensed under the MIT License.
Feel free to open an issue for any questions about contributing.