{"id":47929457,"url":"https://github.com/scottgilmoredev/repo-standards","last_synced_at":"2026-04-04T07:13:17.591Z","repository":{"id":346239796,"uuid":"1188974088","full_name":"scottgilmoredev/repo-standards","owner":"scottgilmoredev","description":"A CLI tool that installs repository documentation into an existing project","archived":false,"fork":false,"pushed_at":"2026-03-23T14:45:11.000Z","size":59,"stargazers_count":0,"open_issues_count":9,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-23T18:07:35.820Z","etag":null,"topics":["cli","community-health","developer-tools","documentation","github-templates","nodejs","npm","open-source","standards"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scottgilmoredev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-22T20:38:05.000Z","updated_at":"2026-03-23T14:45:12.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/scottgilmoredev/repo-standards","commit_stats":null,"previous_names":["scottgilmoredev/repo-standards"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/scottgilmoredev/repo-standards","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scottgilmoredev%2Frepo-standards","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scottgilmoredev%2Frepo-standards/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scottgilmoredev%2Frepo-standards/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scottgilmoredev%2Frepo-standards/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scottgilmoredev","download_url":"https://codeload.github.com/scottgilmoredev/repo-standards/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scottgilmoredev%2Frepo-standards/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31391012,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T04:26:24.776Z","status":"ssl_error","status_checked_at":"2026-04-04T04:23:34.147Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","community-health","developer-tools","documentation","github-templates","nodejs","npm","open-source","standards"],"created_at":"2026-04-04T07:13:16.945Z","updated_at":"2026-04-04T07:13:17.581Z","avatar_url":"https://github.com/scottgilmoredev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# repo-standards\n\n[![CI](https://github.com/scottgilmoredev/repo-standards/actions/workflows/ci.yml/badge.svg)](https://github.com/scottgilmoredev/repo-standards/actions/workflows/ci.yml)\n[![npm version](https://img.shields.io/npm/v/repo-standards.svg)](https://www.npmjs.com/package/repo-standards)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\nA Node.js CLI tool that installs repository documentation into an existing\nproject. Run once after `git init` and `npm init` to drop in GitHub templates,\ncommunity health files, and reference documentation from a curated bundle set.\n\n---\n\n## Demo\n\n_GIF coming soon._\n\n---\n\n## Features\n\n- Interactive checklist — select individual bundles or install all at once\n- Fetches files directly from GitHub via the Contents API\n- Prompts on file conflict — never overwrites silently\n- Writes a `.repo-standards` lockfile recording what was installed and at\n  what version\n- Optional `GITHUB_TOKEN` support for authenticated API requests\n\n---\n\n## Tech Stack\n\n|             |                                                    |\n| ----------- | -------------------------------------------------- |\n| Runtime     | Node.js 24                                         |\n| Language    | JavaScript (ESM)                                   |\n| CLI prompts | [inquirer](https://www.npmjs.com/package/inquirer) |\n| HTTP        | Native `fetch`                                     |\n\n---\n\n## Prerequisites\n\n- Node.js `\u003e=22`\n- An existing project with `git init` and `npm init` already run\n\n---\n\n## Installation\n\n**Recommended — run without installing:**\n\n```bash\nnpx repo-standards\n```\n\n**Global install:**\n\n```bash\npnpm install -g repo-standards\nrepo-standards\n```\n\n---\n\n## Usage\n\nRun in the root of an existing project:\n\n```bash\nnpx repo-standards\n```\n\nAn interactive checklist will present the available bundles. Select the ones\nyou want to install, or choose **Select All** to install everything. Selected\nbundles are fetched from GitHub and written into the current directory.\n\nOn completion, a `.repo-standards` file is written to the project root.\nCommit this file — it records what was installed and at what version.\n\n### Available Bundles\n\n| Bundle             | Description                                                                                 |\n| ------------------ | ------------------------------------------------------------------------------------------- |\n| `github-templates` | Issue templates, PR templates, and default PR template                                      |\n| `community-health` | CONTRIBUTING, CODE_OF_CONDUCT, SECURITY, CHANGELOG, CODEOWNERS                              |\n| `readme-templates` | README templates for app, library, CLI, and API project types                               |\n| `labels-script`    | Shell script to create the standard GitHub label set via the GitHub CLI                     |\n| `git-standards`    | Reference docs for branching, Conventional Commits, PR conventions, and semantic versioning |\n| `github-standards` | Reference docs for GitHub labels, issues, milestones, and PR sidebar usage                  |\n| `dev-standards`    | Reference docs for environment variables, TDD, and software licenses                        |\n\n### File Conflicts\n\nIf a file being installed already exists in your project, you will be prompted\nto overwrite or skip it. The choice is applied per file — no blanket overwrite.\n\n### Lockfile\n\nOn completion, `repo-standards` writes a `.repo-standards` file to your\nproject root:\n\n```json\n{\n  \"version\": \"1.0.0\",\n  \"installed\": [\"github-templates\", \"community-health\"],\n  \"date\": \"2026-03-22\"\n}\n```\n\nCommit this file. It is a record of which standards are in place and at what\nversion — useful when the bundles evolve and you want to know where a project\nstands.\n\n---\n\n## Configuration\n\n### `GITHUB_TOKEN`\n\nBy default, `repo-standards` makes unauthenticated requests to the GitHub\nContents API (60 requests/hour per IP). For typical use this is sufficient.\n\nIf you need a higher rate limit, set a GitHub personal access token:\n\n```bash\nexport GITHUB_TOKEN=your_token_here\nnpx repo-standards\n```\n\nThe token requires no specific scopes for public repository access.\n\n---\n\n## A Note on Installed Files\n\n`repo-standards` is a documentation tool. It does not install configuration\nfiles or modify your project's `package.json`, dependencies, or tooling.\n\nSome installed files contain front matter or metadata required for GitHub to\nrecognize them — for example, issue template front matter that sets the\ntemplate name and default labels. This metadata is presentational, not\nbehavioral, and is included intentionally.\n\nThe one exception: `.github/ISSUE_TEMPLATE/config.yml` is excluded from the\n`github-templates` bundle. That file controls GitHub's issue template chooser\nUI behavior and is configuration rather than documentation. Add it manually\nif your project requires it.\n\n---\n\n## Contributing\n\nContributions are welcome. Please read [CONTRIBUTING.md](CONTRIBUTING.md)\nbefore opening a pull request.\n\n---\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscottgilmoredev%2Frepo-standards","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscottgilmoredev%2Frepo-standards","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscottgilmoredev%2Frepo-standards/lists"}