GitHub projects validation script for KaiCode competition.
-
Place
projects.txtinto the repo root folder. -
Run the script
node start- Verify the output
After the pipeline completes, check the following files for results:
| File | Stage | Description |
|---|---|---|
files/repos.txt |
Step 1 – checkProjects | Repos that passed initial checks (not private, not template, ≥1 year old, not archived, not disabled). Markdown link format. |
files/releases.txt |
Step 2 – filterRepos | Repos that passed deeper filtering (≥5 releases, license, README ≥20 lines, ≥10 issues, ≥50 commits, ≥10 PRs, ≥1 CI/CD workflow). |
files/directories.txt |
Step 3 – cloneAndFilter | Per-repo directory stats: repo,dirs,files,files_1k (comma-separated). |
all.txt |
Step 4 – checkRepos | Repos meeting final criteria: dirs ≥10, files ≥50, files with 1,000+ lines <10. |
top.txt |
Step 5 – top3 | Manually curated list of top repos (input file, pre-populated). |
other.txt |
Step 5 – top3 | Repos from all.txt not in top.txt, formatted as markdown links. |
files/markdown.txt |
Step 6 – urlToMarkdown | All URLs from files/urls.txt converted to markdown link format. |
projects/ |
Step 3 – cloneAndFilter | Cloned git repositories (one subfolder per repo). |
- Must be a GitHub repository (URL must start with https://github.com)
- Must not be a private repository
- Must not be a template repository
- Must have been created on or after 2021-01-01
- Must be at least one year old (created on or before the date one year ago from today)
- Must not be archived
- Must not be disabled
- Must have at least 5 releases
- Must have a license
- Must have a README with at least 20 lines
- Must have at least 10 issues
- Must have at least 50 commits
- Must have at least 10 pull requests
- Must have at least 1 CI/CD workflow
- Must have at least 10 directories
- Must have at least 50 files
- Must have fewer than 10 files with 1,000+ lines