{"id":28436951,"url":"https://github.com/epicweb-dev/epicli","last_synced_at":"2025-06-27T20:32:16.642Z","repository":{"id":283883863,"uuid":"953181013","full_name":"epicweb-dev/epicli","owner":"epicweb-dev","description":"Generate and update apps based on the Epic Stack","archived":false,"fork":false,"pushed_at":"2025-04-04T20:23:07.000Z","size":87,"stargazers_count":19,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-05T23:08:05.468Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/epicweb-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2025-03-22T18:51:57.000Z","updated_at":"2025-04-04T20:22:23.000Z","dependencies_parsed_at":"2025-03-22T20:31:52.409Z","dependency_job_id":null,"html_url":"https://github.com/epicweb-dev/epicli","commit_stats":null,"previous_names":["epicweb-dev/epicly"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/epicweb-dev/epicli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epicweb-dev%2Fepicli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epicweb-dev%2Fepicli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epicweb-dev%2Fepicli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epicweb-dev%2Fepicli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/epicweb-dev","download_url":"https://codeload.github.com/epicweb-dev/epicli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epicweb-dev%2Fepicli/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262327335,"owners_count":23294254,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2025-06-05T23:08:04.349Z","updated_at":"2025-06-27T20:32:16.614Z","avatar_url":"https://github.com/epicweb-dev.png","language":"TypeScript","readme":"\u003cdiv\u003e\n  \u003ch1 align=\"center\"\u003e\u003ca href=\"https://npm.im/epicli\"\u003e🍉 epicli\u003c/a\u003e\u003c/h1\u003e\n  \u003cstrong\u003e\n    Generate and update apps based on the Epic Stack\n  \u003c/strong\u003e\n  \u003cp\u003e\n    Whether you want to generate a new app with the Epic Stack, update an existing one, or apply an example's changes to your own app (Epic Stack or not), this CLI will help you do it.\n  \u003c/p\u003e\n\u003c/div\u003e\n\n```sh\nnpx epicli [command] [options]\n\n# apply changes from an example to your project\nnpx epicli apply\n\n# update your app to the latest version of the epic stack\nnpx epicli update\n```\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca\n    alt=\"Epic Web logo\"\n    href=\"https://www.epicweb.dev\"\n  \u003e\n    \u003cimg\n      width=\"300px\"\n      src=\"https://github-production-user-asset-6210df.s3.amazonaws.com/1500684/257881576-fd66040b-679f-4f25-b0d0-ab886a14909a.png\"\n    /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\u003chr /\u003e\n\n\u003c!-- prettier-ignore-start --\u003e\n[![Build Status][build-badge]][build]\n[![MIT License][license-badge]][license]\n[![Code of Conduct][coc-badge]][coc]\n\u003c!-- prettier-ignore-end --\u003e\n\n## The problem\n\n- You want to build a production-grade application quickly\n- You want to update your Epic Stack app with changes made in the Epic Stack\n- You want to apply the changes made in an example app to your own app\n\n## This solution\n\nThis is a CLI that helps you do all of those things.\n\n### apply\n\nThis command applies changes from Epic Stack example repositories to your app.\n\n```sh\n# browse examples interactively\nnpx epicli apply\n\n# apply directly from a GitHub repo\nnpx epicli apply kentcdodds/epic-ai\nnpx epicli apply https://github.com/epicweb-dev/epic-oidc\n\n# filter files to apply\nnpx epicli apply kentcdodds/epic-ai --file src/components/Button.tsx --file src/components/Input.tsx\nnpx epicli apply kentcdodds/epic-ai --filter \"src/components/*\"\nnpx epicli apply kentcdodds/epic-ai --ignore \"*.test.ts\"\n```\n\nThe apply command:\n\n1. Lets you browse available Epic Stack examples interactively\n2. Gets the diff from the selected repository\n3. Creates patches to apply that example's changes to your project\n4. Generate a prompt which you can then give to your AI Assistant (like\n   [Cursor](https://cursor.sh),\n   [Claude Code](https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/overview),\n   [Windsurf](https://codeium.com/windsurf), etc.) to make it apply the patches.\n\n### update\n\nThis command updates your Epic Stack app with changes made in the Epic Stack\nrepository.\n\n```sh\n# local path\nnpx epicli update ./your-epic-app\n# current directory\nnpx epicli update .\n\n# filter files to update\nnpx epicli update --file src/components/Button.tsx --file src/components/Input.tsx\nnpx epicli update --filter \"src/components/*\"\nnpx epicli update --ignore \"*.test.ts\"\n```\n\nThe update command:\n\n1. Checks your package.json for the last commit hash you updated from\n2. Shows what updates are available (grouped my major changes)\n3. Creates patches to implement those changes\n4. Generate a prompt which you can then give to your AI Assistant (like\n   [Cursor](https://cursor.sh),\n   [Claude Code](https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/overview),\n   [Windsurf](https://codeium.com/windsurf), etc.) to make it apply the patches.\n\nNote: The update command requires that your epic stack app's package.json has\nthe `epic-stack` key set to the last commit hash and date of the Epic Stack repo\n(this is generated when you create a new app and updated when you update your\napp).\n\n```json\n{\n\t\"epic-stack\": {\n\t\t\"head\": \"b78978efc39cf9fd2ea43519a5767567c20b9991\",\n\t\t\"date\": \"2025-03-11T20:07:22Z\"\n\t}\n}\n```\n\n### new\n\nThis command creates a new Epic Stack app.\n\n```sh\nnpx epicli new my-app\n```\n\nThis will create a new app with the name `my-app` in the current directory.\n\n## Limitations\n\nThe further your app diverges from the Epic Stack, the more likely you'll run\ninto issues with these prompts.\n\n## License\n\nMIT\n\n\u003c!-- prettier-ignore-start --\u003e\n[build-badge]: https://img.shields.io/github/actions/workflow/status/epicweb-dev/epicli/release.yml?branch=main\u0026logo=github\u0026style=flat-square\n[build]: https://github.com/epicweb-dev/epicli/actions?query=workflow%3Arelease\n[license-badge]: https://img.shields.io/badge/license-MIT%20License-blue.svg?style=flat-square\n[license]: https://github.com/epicweb-dev/epicli/blob/main/LICENSE\n[coc-badge]: https://img.shields.io/badge/code%20of-conduct-ff69b4.svg?style=flat-square\n[coc]: https://kentcdodds.com/conduct\n\u003c!-- prettier-ignore-end --\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fepicweb-dev%2Fepicli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fepicweb-dev%2Fepicli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fepicweb-dev%2Fepicli/lists"}