A command-line tool that helps maintainers evaluate GitHub repositories for contributor readiness and create new contributor-friendly projects.
- Evaluate existing repositories: Analyze any GitHub repository to see how ready it is for new contributors
- Create new repositories: Set up new GitHub repositories optimized for community contributions
- Detailed scoring: Get a comprehensive score and rating based on best practices for open source projects
- Actionable recommendations: Receive specific suggestions to improve your repository's contributor readiness
npm install -g reporeadyOr run directly with npx:
npx repoready [command]- Clone the repository:
git clone https://github.com/OpenSource-Communities/RepoReady.git
cd RepoReady- Install dependencies:
npm install- Build the project:
npm run build- Run the CLI:
# Using the built JavaScript
# node dist/index.js evaluate OpenSource-Communities/RepoReady
node dist/index.js [command]
# Or run directly with TypeScript (development)
npm run dev [command]Using npm/npx:
rr evaluate owner/repository-nameUsing Node.js locally:
node dist/index.js evaluate owner/repository-name
# Or in development:
npm run dev evaluate owner/repository-nameExample:
# npm/npx
rr evaluate facebook/react
# Local Node.js
node dist/index.js evaluate facebook/reactWith GitHub token for higher rate limits:
# npm/npx
rr evaluate facebook/react --token your_github_token
# Local Node.js
node dist/index.js evaluate facebook/react --token your_github_tokenUsing npm/npx:
rr create --token your_github_tokenUsing Node.js locally:
node dist/index.js create --token your_github_tokenYou can also provide repository details directly:
# npm/npx
rr create --token your_github_token --name my-awesome-project --description "A tool that does amazing things"
# Local Node.js
node dist/index.js create --token your_github_token --name my-awesome-project --description "A tool that does amazing things"The CLI evaluates repositories based on these criteria. When community health files are missing from a repository, the tool automatically checks the organization's .github repository for default community health files:
- README File (20 points): Comprehensive documentation
- Contributing Guidelines (15 points): Clear contribution instructions
- Open Source License (15 points): Valid open source license
- Code of Conduct (12 points): Welcoming environment guidelines (checks repository and organization's
.githubrepo) - Description (10 points): Clear project description
- Good First Issues (10 points): Issues labeled for beginners
- Topics/Tags (8 points): Relevant repository topics
- Issue Templates (8 points): Standardized issue reporting (checks repository and organization's
.githubrepo) - Help Wanted Issues (8 points): Issues seeking community help
- Pull Request Template (7 points): PR submission guidelines (checks repository and organization's
.githubrepo) - Repository Name (5 points): Descriptive and relevant name
- Active Repository (5 points): Not archived
RepoReady automatically checks for community health files in the organization's .github repository when they're missing from the individual repository. This follows GitHub's community health file standards where organizations can provide default files for all their repositories.
Files checked at the organization level include:
CODE_OF_CONDUCT.mdCONTRIBUTING.mdLICENSE(and variants)- Issue templates in
.github/ISSUE_TEMPLATE/ PULL_REQUEST_TEMPLATE.md
- Excellent (90-100%): Ready for contributors with outstanding setup
- Good (75-89%): Well-prepared with minor improvements needed
- Fair (60-74%): Has potential but needs important improvements
- Needs Work (40-59%): Significant improvements required
- Not Ready (<40%): Major work needed before accepting contributions
While not required for evaluation, using a GitHub personal access token is recommended to:
- Avoid rate limiting
- Access private repositories (if you have permissions)
- Create new repositories
Create a token at: https://github.com/settings/tokens
You can provide the token via:
--tokenflagGITHUB_TOKENenvironment variable
# Using npm/npx
rr evaluate microsoft/vscode
# Using Node.js locally
node dist/index.js evaluate microsoft/vscode# Using npm/npx
rr create --token ghp_your_token_here
# Using Node.js locally
node dist/index.js create --token ghp_your_token_here# Using npm/npx
export GITHUB_TOKEN=ghp_your_token_here
rr evaluate your-org/your-repo
# Using Node.js locally
export GITHUB_TOKEN=ghp_your_token_here
node dist/index.js evaluate your-org/your-repo- Node.js 20 or higher
- npm (comes with Node.js)
- Git (for repository operations and local development)
- GitHub account (for creating repositories)
- TypeScript knowledge (helpful for contributing)
- All dependencies will be installed via
npm install
This project follows the same best practices it evaluates! We welcome contributions and maintain:
- Comprehensive documentation
- Contributing guidelines
- Code of conduct
- Issue templates
- Good first issues
MIT License - see LICENSE file for details.