https://github.com/epicweb-dev/epicli
Generate and update apps based on the Epic Stack
https://github.com/epicweb-dev/epicli
Last synced: 3 days ago
JSON representation
Generate and update apps based on the Epic Stack
- Host: GitHub
- URL: https://github.com/epicweb-dev/epicli
- Owner: epicweb-dev
- Created: 2025-03-22T18:51:57.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-04-04T20:23:07.000Z (3 months ago)
- Last Synced: 2025-06-05T23:08:05.468Z (24 days ago)
- Language: TypeScript
- Homepage:
- Size: 85 KB
- Stars: 19
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
🍉 epicli
Generate and update apps based on the Epic Stack
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.
```sh
npx epicli [command] [options]# apply changes from an example to your project
npx epicli apply# update your app to the latest version of the epic stack
npx epicli update
```
[![Build Status][build-badge]][build]
[![MIT License][license-badge]][license]
[![Code of Conduct][coc-badge]][coc]## The problem
- You want to build a production-grade application quickly
- You want to update your Epic Stack app with changes made in the Epic Stack
- You want to apply the changes made in an example app to your own app## This solution
This is a CLI that helps you do all of those things.
### apply
This command applies changes from Epic Stack example repositories to your app.
```sh
# browse examples interactively
npx epicli apply# apply directly from a GitHub repo
npx epicli apply kentcdodds/epic-ai
npx epicli apply https://github.com/epicweb-dev/epic-oidc# filter files to apply
npx epicli apply kentcdodds/epic-ai --file src/components/Button.tsx --file src/components/Input.tsx
npx epicli apply kentcdodds/epic-ai --filter "src/components/*"
npx epicli apply kentcdodds/epic-ai --ignore "*.test.ts"
```The apply command:
1. Lets you browse available Epic Stack examples interactively
2. Gets the diff from the selected repository
3. Creates patches to apply that example's changes to your project
4. Generate a prompt which you can then give to your AI Assistant (like
[Cursor](https://cursor.sh),
[Claude Code](https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/overview),
[Windsurf](https://codeium.com/windsurf), etc.) to make it apply the patches.### update
This command updates your Epic Stack app with changes made in the Epic Stack
repository.```sh
# local path
npx epicli update ./your-epic-app
# current directory
npx epicli update .# filter files to update
npx epicli update --file src/components/Button.tsx --file src/components/Input.tsx
npx epicli update --filter "src/components/*"
npx epicli update --ignore "*.test.ts"
```The update command:
1. Checks your package.json for the last commit hash you updated from
2. Shows what updates are available (grouped my major changes)
3. Creates patches to implement those changes
4. Generate a prompt which you can then give to your AI Assistant (like
[Cursor](https://cursor.sh),
[Claude Code](https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/overview),
[Windsurf](https://codeium.com/windsurf), etc.) to make it apply the patches.Note: The update command requires that your epic stack app's package.json has
the `epic-stack` key set to the last commit hash and date of the Epic Stack repo
(this is generated when you create a new app and updated when you update your
app).```json
{
"epic-stack": {
"head": "b78978efc39cf9fd2ea43519a5767567c20b9991",
"date": "2025-03-11T20:07:22Z"
}
}
```### new
This command creates a new Epic Stack app.
```sh
npx epicli new my-app
```This will create a new app with the name `my-app` in the current directory.
## Limitations
The further your app diverges from the Epic Stack, the more likely you'll run
into issues with these prompts.## License
MIT
[build-badge]: https://img.shields.io/github/actions/workflow/status/epicweb-dev/epicli/release.yml?branch=main&logo=github&style=flat-square
[build]: https://github.com/epicweb-dev/epicli/actions?query=workflow%3Arelease
[license-badge]: https://img.shields.io/badge/license-MIT%20License-blue.svg?style=flat-square
[license]: https://github.com/epicweb-dev/epicli/blob/main/LICENSE
[coc-badge]: https://img.shields.io/badge/code%20of-conduct-ff69b4.svg?style=flat-square
[coc]: https://kentcdodds.com/conduct