Thank you for your interest in contributing to the USAi API Node.js client library! This project is community-driven and especially welcomes contributions from government agencies who can test with live USAi.gov API endpoints.
- Fork this repository
- Clone your fork locally
- Install dependencies:
npm install - Create a feature branch:
git checkout -b feature/your-feature - Make your changes
- Test your changes:
npm test - Submit a pull request
# Clone your fork
git clone https://github.com/YOUR-USERNAME/usai-api.git
cd usai-api
# Install dependencies
npm install
# Run tests
npm test
# Start development mode
npm run dev
# Format code
npm run format
# Lint code
npm run lint
# Build project
npm run build- Government agencies with USAi.gov API access
- Integration testing and feedback
- Bug reports from real-world usage
- Performance insights
- Fix issues with existing functionality
- Improve error handling
- Resolve TypeScript type issues
- Additional model support
- Enhanced government features
- API compatibility improvements
- Performance optimizations
- Improve existing guides
- Add more examples
- Better error documentation
- Government compliance guides
- Security improvements
- Vulnerability fixes
- Government compliance enhancements
- Code follows the existing style (run
npm run format) - All tests pass (
npm test) - New code has appropriate tests
- Documentation is updated if needed
- Commit messages are descriptive
When submitting a PR, please include:
## Description
Brief description of changes
## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Documentation update
## Testing
- [ ] Unit tests pass
- [ ] Integration testing (if applicable)
- [ ] Tested with live USAi.gov API (if available)
## Government Impact
- [ ] Affects government security considerations
- [ ] Changes authentication flow
- [ ] Impacts compliance requirements
## Checklist
- [ ] Code follows style guidelines
- [ ] Self-review completed
- [ ] Documentation updated
- [ ] Tests added/updated- All code must be properly typed
- Use strict TypeScript configuration
- Export types for public APIs
# Use Prettier for consistent formatting
npm run format# Follow ESLint rules
npm run lint- Write unit tests for new functionality
- Maintain high test coverage
- Test error scenarios
- Update README for new features
- Add inline code documentation
- Include government-specific examples
- Handle API keys securely
- Follow government security best practices
- Consider FedRAMP compliance requirements
- Focus on federal agency needs
- Consider compliance and audit requirements
- Support government document processing
- Use realistic government scenarios
- Avoid sensitive or classified information
- Include FOIA, compliance, and policy examples
Include:
- Node.js version
- Library version
- Steps to reproduce
- Expected vs actual behavior
- Error messages/logs
Include:
- Use case description
- Government agency benefit
- Proposed implementation approach
- Alternative solutions considered
- GitHub Discussions: General questions and community help
- GitHub Issues: Bug reports and feature requests
- Security Issues: See SECURITY.md for private reporting
This project follows a professional code of conduct:
- Be respectful and inclusive
- Focus on constructive feedback
- Consider the government community impact
- Maintain professional communication
- Respect security and privacy concerns
Contributors will be recognized in:
- Release notes
- Contributors section
- Special recognition for government testing and feedback
Thank you for helping make this library better for the government community! 🇺🇸