Thank you for your interest in contributing to Requesty CLI! We welcome contributions from the community.
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/requestyai/requesty-cli cd requesty-cli - Install dependencies:
npm install
- Set up environment:
cp .env.example .env # Edit .env with your API key
# Build the project
npm run build
# Run in development mode
npm run dev
# Run tests
npm test
# Run linting
npm run lint
# Format code
npm run formatsrc/
├── cli/ # CLI commands and orchestration
├── core/ # Core API and streaming functionality
├── pdf-chat/ # PDF chat feature
├── security/ # Security and encryption
├── ui/ # User interface components
└── utils/ # Utility functions
- Use TypeScript for all new code
- Follow existing patterns and naming conventions
- Add proper type definitions
- Use JSDoc comments for public APIs
- Follow the existing ESLint configuration
- Use Prettier for formatting
- Write descriptive commit messages
- Keep functions small and focused
- Never commit API keys or sensitive data
- Use environment variables for configuration
- Follow secure coding practices
- Sanitize user inputs
- Use the GitHub issue template
- Include reproduction steps
- Provide system information
- Add relevant logs/screenshots
- Describe the problem you're solving
- Explain the proposed solution
- Consider backwards compatibility
- Discuss implementation approach
- Follow the existing code style
- Add tests for new functionality
- Update documentation if needed
- Ensure all tests pass
-
Create a feature branch:
git checkout -b feature/your-feature-name
-
Make your changes:
- Write clean, well-documented code
- Add tests for new functionality
- Update README if needed
-
Test thoroughly:
npm run build npm test npm run lint -
Commit your changes:
git add . git commit -m "feat: add new feature description"
-
Push to your fork:
git push origin feature/your-feature-name
-
Create a Pull Request:
- Use the PR template
- Link relevant issues
- Describe your changes clearly
- Request review from maintainers
We use conventional commits for clear history:
feat:New featurefix:Bug fixdocs:Documentation changesstyle:Code style changesrefactor:Code refactoringtest:Adding testschore:Maintenance tasks
Examples:
feat: add PDF chat streaming support
fix: resolve API timeout issues
docs: update installation instructions
- Write unit tests for new functionality
- Test with different Node.js versions
- Test CLI commands manually
- Verify security features work correctly
- Update README.md for user-facing changes
- Add JSDoc comments for new APIs
- Update examples if needed
- Keep documentation concise and clear
- Build errors: Check TypeScript configuration
- API errors: Verify API key and endpoint
- Import issues: Check file paths and exports
# Enable debug logging
DEBUG=requesty:* npm run dev- Be respectful and inclusive
- Help others in issues and discussions
- Follow the code of conduct
- Share knowledge and best practices
- Report security vulnerabilities privately
- Don't commit sensitive information
- Use secure coding practices
- Keep dependencies updated
- Issues: For bugs and feature requests
- Discussions: For questions and community chat
- Email: For security concerns
Contributors will be recognized in:
- GitHub contributors page
- Release notes for significant contributions
- Community showcases
Thank you for contributing to Requesty CLI! 🎉