Thank you for your interest in contributing to Squads CLI! This document provides guidelines and instructions for contributing.
This project adheres to a Code of Conduct. By participating, you are expected to uphold this code.
Before creating bug reports, please check existing issues to avoid duplicates. When creating a bug report, include as many details as possible:
- Use a clear and descriptive title
- Describe the exact steps to reproduce the problem
- Provide specific examples - Include command output, screenshots, or code samples
- Describe the behavior you observed and what you expected to see
- Include your environment details: OS, Node.js version, squads-cli version
Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion:
- Use a clear and descriptive title
- Provide a detailed description of the suggested enhancement
- Explain why this enhancement would be useful to most Squads CLI users
- List examples of how the enhancement would be used
- Fill in the pull request template
- Follow the TypeScript style guide used in the project
- Include tests for new functionality
- Update documentation as needed
- End all files with a newline
- Ensure the CI/CD pipeline passes
-
Fork and clone the repository
git clone https://github.com/your-username/squads-cli.git cd squads-cli -
Install dependencies
npm install
-
Build the project
npm run build
-
Link for local development
npm link
-
Run tests
npm test
squads-cli/
├── src/ # Source code
│ ├── commands/ # CLI commands
│ ├── lib/ # Core library code
│ ├── types/ # TypeScript type definitions
│ └── utils/ # Utility functions
├── tests/ # Test files
└── docs/ # Documentation
- Use TypeScript for all new code
- Enable strict mode
- Add type annotations for function parameters and return values
- Use interfaces for complex types
- Avoid
anytype when possible
Follow the Conventional Commits specification:
<type>(<scope>): <subject>
<body>
<footer>
Types:
feat: New featurefix: Bug fixdocs: Documentation changesstyle: Code style changes (formatting, etc.)refactor: Code refactoringtest: Adding or updating testschore: Maintenance tasks
Example:
feat(memory): add semantic search for memory queries
- Implement vector embeddings for memory entries
- Add similarity search API
- Update CLI to support semantic queries
Closes #123
- Write tests for new features
- Ensure all tests pass before submitting PR
- Aim for high code coverage
- Use descriptive test names
- Update README.md for new features
- Add JSDoc comments for public APIs
- Update CHANGELOG.md following Keep a Changelog
- Create or update docs/ files for significant changes
Maintainers follow this process for releases:
- Update version in package.json
- Update CHANGELOG.md
- Create git tag
- Push to GitHub
- Publish to npm
- Create GitHub release
- Documentation: https://docs.agents-squads.com
- Discussions: https://github.com/agents-squads/squads-cli/discussions
- Issues: https://github.com/agents-squads/squads-cli/issues
- Contact: contact@agents-squads.com
Contributors will be recognized in:
- CHANGELOG.md for their contributions
- GitHub contributors page
- Release notes
Thank you for contributing to Squads CLI! 🎉