{"id":50269717,"url":"https://github.com/molten-bot/railsmith","last_synced_at":"2026-05-27T16:05:14.389Z","repository":{"id":359026563,"uuid":"1244175809","full_name":"Molten-Bot/railsmith","owner":"Molten-Bot","description":"Markdown generator for AGENTS.md","archived":false,"fork":false,"pushed_at":"2026-05-20T17:26:56.000Z","size":4537,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-20T19:53:12.086Z","etag":null,"topics":["agentic","ai-augmented-engineering","coding","npm-package"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/@moltenbot/railsmith","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/Molten-Bot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"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-05-20T03:09:03.000Z","updated_at":"2026-05-20T17:26:59.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Molten-Bot/railsmith","commit_stats":null,"previous_names":["molten-bot/agents-markdown","molten-bot/railsmith"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Molten-Bot/railsmith","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Molten-Bot%2Frailsmith","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Molten-Bot%2Frailsmith/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Molten-Bot%2Frailsmith/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Molten-Bot%2Frailsmith/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Molten-Bot","download_url":"https://codeload.github.com/Molten-Bot/railsmith/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Molten-Bot%2Frailsmith/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33573331,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-27T02:00:06.184Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["agentic","ai-augmented-engineering","coding","npm-package"],"created_at":"2026-05-27T16:05:13.534Z","updated_at":"2026-05-27T16:05:14.380Z","avatar_url":"https://github.com/Molten-Bot.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# railsmith\n\nRailsmith is not just an AGENTS.md generator. It is a maintenance loop for agent-readable engineering context.\n\n---\n\n## Install\n\n```bash\nnpm install --save-dev @moltenbot/railsmith\n```\n\n---\n\n## CLI\n\n```bash\nnpx railsmith guide                                         # read the agent workflow guide\nnpx railsmith doctor --root .                              # scan and validate your repo\nnpx railsmith init --root . --dry-run                      # preview before writing\nnpx railsmith init --root . --use cloud:retry              # init with a bundled pattern\nnpx railsmith init --root . --scope-use packages/api:cloud:retry # scoped bundled pattern\nnpx railsmith learn cloud:retry                            # read full pattern guidance\nnpx railsmith check --root .                               # validate managed markers\nnpx railsmith patterns list                                # browse bundled patterns\n```\n\nYour hand-written Markdown is never touched. Generated content lives inside clearly marked blocks:\n\n```md\n\u003c!-- railsmith:start core --\u003e\n...\n\u003c!-- railsmith:end core --\u003e\n```\n\n---\n\n## SDK\n\n```ts\nimport { generateAgentsMd, getBundledPattern, mergeAgentsMd, scanProject } from \"@moltenbot/railsmith\";\n\nconst repoFacts = scanProject(\".\");\nconst retryPattern = getBundledPattern(\"cloud:retry\");\n\nconst result = generateAgentsMd({\n  repoFacts,\n  patterns: retryPattern ? [retryPattern] : []\n});\n\nconst merged = mergeAgentsMd({\n  existing: \"# Team Notes\\n\",\n  generated: result.files[0].content\n});\n```\n\n---\n\n## Bundled Patterns\n\nRailsmith ships with a curated snapshot of patterns from [`jefking/cloud-patterns`](https://github.com/jefking/cloud-patterns) and [`jefking/design-patterns`](https://github.com/jefking/design-patterns).\n\nSee [PATTERNS.md](./PATTERNS.md) for the complete bundled list. Common starting points:\n\n| Pattern | Use when |\n| --- | --- |\n| `cloud:retry` | Anticipated transient faults need bounded, delay-aware retries. |\n| `cloud:circuit-breaker` | Repeated remote dependency failures should fail fast until recovery. |\n| `cloud:cache-aside` | Reads can populate and reuse a cache beside an authoritative store. |\n| `cloud:queue-based-load-leveling` | Bursty producers need buffering before sustainable downstream processing. |\n| `cloud:rate-limiting` | Workload consumption must stay within dependency quotas or capacity. |\n| `cloud:saga` | Distributed business transactions need local commits plus compensations. |\n| `cloud:strangler-fig` | Legacy capability should move incrementally to a new implementation. |\n| `cloud:sidecar` | Supporting capability belongs beside the app, not embedded inside it. |\n| `design:creational/dependency-injection` | Construction and dependency lifetime should stay at a composition boundary. |\n| `design:structural/adapter` | Client code needs an incompatible object through an expected interface. |\n| `design:behavioral/strategy` | Alternative algorithms should share one interface and swap cleanly. |\n| `design:concurrency/thread-pool` | Queued work should reuse bounded workers instead of creating threads repeatedly. |\n\nSync bundled snapshots anytime:\n\n```bash\nnpm run sync:patterns\n```\n\n```ts\nimport { cloudPatterns, designPatterns, getBundledPattern } from \"@moltenbot/railsmith/patterns\";\n```\n\nUse `npx railsmith learn \u003cpattern-id\u003e` when you want the complete pattern contract, including applicability gates, invariants, verification prompts, sources, and the bundled source guidance.\n\n---\n\n## Contributing\n\n```bash\nnpm ci \u0026\u0026 npm run build \u0026\u0026 npm test\n```\n\n100% line, branch, and function coverage enforced. Releases publish automatically from `main` with the `NPM_TOKEN` GitHub Actions secret when the version in `package.json` hasn't been published yet.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmolten-bot%2Frailsmith","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmolten-bot%2Frailsmith","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmolten-bot%2Frailsmith/lists"}