create-agentic-app 1.1.58 → 1.1.59

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-agentic-app",
3
- "version": "1.1.58",
3
+ "version": "1.1.59",
4
4
  "description": "Scaffold a new agentic AI application with Next.js, Better Auth, and AI SDK",
5
5
  "type": "module",
6
6
  "bin": {
@@ -10,7 +10,7 @@ description: >
10
10
 
11
11
  # Checkpoint Commit
12
12
 
13
- Create a comprehensive checkpoint commit that captures all current changes with a detailed, well-structured commit message.
13
+ Create a checkpoint commit that captures all current changes but only after the code passes lint, type check, and build.
14
14
 
15
15
  ## Instructions
16
16
 
@@ -23,7 +23,17 @@ Run these commands to understand the full picture:
23
23
  3. `git diff --cached` — see already-staged changes
24
24
  4. `git log -5 --oneline` — understand this repo's commit message style
25
25
 
26
- ### Step 2: Stage Everything
26
+ ### Step 2: Quality Checks
27
+
28
+ Run all three checks. If any fail, fix the issues before proceeding — do not skip or ignore failures.
29
+
30
+ 1. `npm run lint` — fix any lint errors
31
+ 2. `npm run type-check` — fix any type errors (if the script doesn't exist, try `npx tsc --noEmit`)
32
+ 3. `npm run build` — fix any build errors
33
+
34
+ Iterate until all three pass cleanly. Only then move to the next step.
35
+
36
+ ### Step 3: Stage Everything
27
37
 
28
38
  Stage all changes — tracked modifications, deletions, and new untracked files:
29
39
 
@@ -31,20 +41,16 @@ Stage all changes — tracked modifications, deletions, and new untracked files:
31
41
  git add -A
32
42
  ```
33
43
 
34
- ### Step 3: Craft the Commit Message
44
+ ### Step 4: Craft the Commit Message
35
45
 
36
46
  Write a commit message following the project's existing conventions (observed from `git log`). Structure:
37
47
 
38
48
  - **First line**: clear, concise summary in imperative mood (50-72 chars)
39
49
  - Use conventional commit prefixes where the project uses them: `feat:`, `fix:`, `refactor:`, `docs:`, `chore:`, etc.
40
- - **Body** (separated by blank line): detailed description including:
41
- - What changes were made (key modifications)
42
- - Why these changes were made (purpose/motivation)
43
- - Important technical details or decisions
44
- - Breaking changes or migration notes if applicable
50
+ - **Body** (separated by blank line): a short TL;DR of the changes — 1-3 sentences max. No bullet lists, no file-by-file breakdowns, no lengthy explanations.
45
51
  - **Footer**: co-author attribution
46
52
 
47
- ### Step 4: Commit
53
+ ### Step 5: Commit
48
54
 
49
55
  Create the commit using a heredoc for proper formatting:
50
56
 
@@ -52,14 +58,14 @@ Create the commit using a heredoc for proper formatting:
52
58
  git commit -m "$(cat <<'EOF'
53
59
  {first line}
54
60
 
55
- {body}
61
+ {tldr}
56
62
 
57
63
  Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
58
64
  EOF
59
65
  )"
60
66
  ```
61
67
 
62
- ### Step 5: Report
68
+ ### Step 6: Report
63
69
 
64
70
  Display:
65
71
  - The commit hash and message summary
@@ -70,6 +76,7 @@ Display:
70
76
 
71
77
  - Stage and commit everything — do not skip files unless they are clearly sensitive (`.env`, credentials)
72
78
  - If the repo has no git history, run `git init` first
73
- - Make the commit message descriptive enough that someone reading `git log` understands what was accomplished
79
+ - All quality checks (lint, type-check, build) MUST pass before committing fix issues, don't skip them
80
+ - Keep the commit body short — a TL;DR, not an essay
74
81
  - Follow the project's existing commit conventions (check the log first)
75
82
  - Do not push — only commit locally
@@ -0,0 +1,174 @@
1
+ ---
2
+ name: ship-it
3
+ description: >
4
+ Push the current branch to GitHub and create a pull request. Use this skill when the user says
5
+ "ship it", "ship this", "push to github", "create a pr", "open a pull request", "send for review",
6
+ "get this reviewed", or wants to push their work and open a PR. Also use when the user says
7
+ "/ship-it". This skill handles prerequisites, branching, pushing, and PR creation — it does not
8
+ commit or run quality checks (use checkpoint for that first).
9
+ ---
10
+
11
+ # Ship It
12
+
13
+ Push your work to GitHub and open a pull request — handling prerequisites, branch creation, pushing, and PR generation automatically.
14
+
15
+ This skill complements `checkpoint`. Use `checkpoint` to commit locally (with quality gates), then `ship-it` to get the code to GitHub for review.
16
+
17
+ ## Instructions
18
+
19
+ ### Step 0: Prerequisites
20
+
21
+ Verify tooling before doing anything else.
22
+
23
+ 1. **GitHub CLI installed?**
24
+ ```bash
25
+ gh --version
26
+ ```
27
+ If the command fails (not found):
28
+ - Detect the platform and attempt to install:
29
+ - **Windows:** `winget install --id GitHub.cli`
30
+ - **macOS:** `brew install gh`
31
+ - **Linux (Debian/Ubuntu):** follow the official apt instructions
32
+ - If auto-install fails, tell the user what to install and stop.
33
+
34
+ 2. **GitHub CLI authenticated?**
35
+ ```bash
36
+ gh auth status
37
+ ```
38
+ If not authenticated, tell the user:
39
+ ```
40
+ GitHub CLI is not logged in. Please run this in the prompt:
41
+ ! gh auth login
42
+ Then re-run /ship-it.
43
+ ```
44
+ Stop here — do not proceed until auth is confirmed.
45
+
46
+ 3. **Git remote exists?**
47
+ ```bash
48
+ git remote -v
49
+ ```
50
+ If no remote named `origin` exists, stop and tell the user:
51
+ ```
52
+ No git remote found. Add one with:
53
+ git remote add origin https://github.com/{user}/{repo}.git
54
+ ```
55
+
56
+ ### Step 1: Detect the Environment
57
+
58
+ Run these commands to understand the current state:
59
+
60
+ 1. `git branch --show-current` — get the current branch name
61
+ 2. Detect the default branch:
62
+ ```bash
63
+ gh repo view --json defaultBranchRef --jq '.defaultBranchRef.name'
64
+ ```
65
+ 3. `git status --porcelain` — check for uncommitted changes
66
+
67
+ If there are uncommitted changes, stop and tell the user:
68
+ ```
69
+ You have uncommitted changes. Run /checkpoint first to commit them, then /ship-it to push.
70
+ ```
71
+
72
+ Store the default branch name for use throughout the remaining steps.
73
+
74
+ ### Step 2: Check for Unpushed Commits
75
+
76
+ Determine if there are commits that haven't been pushed yet.
77
+
78
+ **If on a feature branch with a remote tracking branch:**
79
+ ```bash
80
+ git log @{upstream}..HEAD --oneline
81
+ ```
82
+
83
+ **If on a feature branch with no remote tracking branch, or on the default branch:**
84
+ ```bash
85
+ git log origin/{default_branch}..HEAD --oneline
86
+ ```
87
+
88
+ If there are **no unpushed commits**, stop and tell the user:
89
+ ```
90
+ Nothing to ship — all commits are already pushed.
91
+ ```
92
+
93
+ Save the list of unpushed commit messages for use in later steps.
94
+
95
+ ### Step 3: Handle Branching
96
+
97
+ **If already on a feature branch** (not the default branch):
98
+ - Stay on it. No branching needed.
99
+ - Skip to Step 4.
100
+
101
+ **If on the default branch:**
102
+ - Generate a branch name from the unpushed commit messages:
103
+ - Read the commit subjects
104
+ - Derive a kebab-case branch name with a conventional prefix: `feat/`, `fix/`, `refactor/`, `chore/`, `docs/` based on the commit content
105
+ - Keep it short (3-5 words max after the prefix), e.g., `feat/add-user-auth`, `fix/login-redirect-loop`
106
+ - Strip special characters, lowercase everything
107
+ - Create and switch to the new branch:
108
+ ```bash
109
+ git checkout -b {branch_name}
110
+ ```
111
+ - Tell the user: `Created branch {branch_name}`
112
+
113
+ ### Step 4: Push to Origin
114
+
115
+ ```bash
116
+ git push -u origin {branch_name}
117
+ ```
118
+
119
+ If the branch already has a remote tracking branch, a regular `git push` is fine.
120
+
121
+ ### Step 5: Check for Existing PR
122
+
123
+ Before creating a new PR, check if one already exists for this branch:
124
+
125
+ ```bash
126
+ gh pr view --json number,url,title,state 2>/dev/null
127
+ ```
128
+
129
+ If a PR already exists and is **open**:
130
+ - Do NOT create a new one
131
+ - Skip to Step 7 and report the existing PR with a note that new commits were pushed.
132
+
133
+ If no PR exists (or it is closed/merged), proceed to Step 6.
134
+
135
+ ### Step 6: Create the Pull Request
136
+
137
+ Generate the PR title and body from the unpushed commits:
138
+
139
+ - **Title**: concise summary under 70 chars. If single commit, use its subject. If multiple, synthesize a short summary. Imperative mood.
140
+ - **Body**: TL;DR of the changes in 2-4 bullet points max.
141
+
142
+ ```bash
143
+ gh pr create --base {default_branch} --head {branch_name} --title "{title}" --body "$(cat <<'EOF'
144
+ ## Summary
145
+ {2-4 bullet points}
146
+
147
+ ---
148
+ 🤖 Generated with [Claude Code](https://claude.com/claude-code)
149
+ EOF
150
+ )"
151
+ ```
152
+
153
+ ### Step 7: Report
154
+
155
+ Display the result clearly:
156
+
157
+ ```
158
+ Shipped to GitHub:
159
+ Branch: {branch_name}
160
+ PR: #{number} — {title}
161
+ URL: {url}
162
+ ```
163
+
164
+ ## Important
165
+
166
+ - Do NOT run lint, type-check, or build — that is checkpoint's job
167
+ - Do NOT commit anything — only push existing commits and create a PR
168
+ - If the user has uncommitted changes, tell them to run /checkpoint first
169
+ - Keep the PR body short — a TL;DR, not an essay
170
+ - Always check for an existing open PR before creating a new one to avoid duplicates
171
+ - Detect the default branch dynamically — do not hardcode `main` or `master`
172
+ - When creating a branch from the default branch, use conventional prefixes (`feat/`, `fix/`, etc.) with kebab-case names
173
+ - Never run destructive git operations (no `--force`, no `reset --hard`)
174
+ - If `gh` is not installed or authenticated, help the user get set up before proceeding
@@ -10,7 +10,7 @@ description: >
10
10
 
11
11
  # Checkpoint Commit
12
12
 
13
- Create a comprehensive checkpoint commit that captures all current changes with a detailed, well-structured commit message.
13
+ Create a checkpoint commit that captures all current changes but only after the code passes lint, type check, and build.
14
14
 
15
15
  ## Instructions
16
16
 
@@ -23,7 +23,17 @@ Run these commands to understand the full picture:
23
23
  3. `git diff --cached` — see already-staged changes
24
24
  4. `git log -5 --oneline` — understand this repo's commit message style
25
25
 
26
- ### Step 2: Stage Everything
26
+ ### Step 2: Quality Checks
27
+
28
+ Run all three checks. If any fail, fix the issues before proceeding — do not skip or ignore failures.
29
+
30
+ 1. `npm run lint` — fix any lint errors
31
+ 2. `npm run type-check` — fix any type errors (if the script doesn't exist, try `npx tsc --noEmit`)
32
+ 3. `npm run build` — fix any build errors
33
+
34
+ Iterate until all three pass cleanly. Only then move to the next step.
35
+
36
+ ### Step 3: Stage Everything
27
37
 
28
38
  Stage all changes — tracked modifications, deletions, and new untracked files:
29
39
 
@@ -31,20 +41,16 @@ Stage all changes — tracked modifications, deletions, and new untracked files:
31
41
  git add -A
32
42
  ```
33
43
 
34
- ### Step 3: Craft the Commit Message
44
+ ### Step 4: Craft the Commit Message
35
45
 
36
46
  Write a commit message following the project's existing conventions (observed from `git log`). Structure:
37
47
 
38
48
  - **First line**: clear, concise summary in imperative mood (50-72 chars)
39
49
  - Use conventional commit prefixes where the project uses them: `feat:`, `fix:`, `refactor:`, `docs:`, `chore:`, etc.
40
- - **Body** (separated by blank line): detailed description including:
41
- - What changes were made (key modifications)
42
- - Why these changes were made (purpose/motivation)
43
- - Important technical details or decisions
44
- - Breaking changes or migration notes if applicable
50
+ - **Body** (separated by blank line): a short TL;DR of the changes — 1-3 sentences max. No bullet lists, no file-by-file breakdowns, no lengthy explanations.
45
51
  - **Footer**: co-author attribution
46
52
 
47
- ### Step 4: Commit
53
+ ### Step 5: Commit
48
54
 
49
55
  Create the commit using a heredoc for proper formatting:
50
56
 
@@ -52,14 +58,14 @@ Create the commit using a heredoc for proper formatting:
52
58
  git commit -m "$(cat <<'EOF'
53
59
  {first line}
54
60
 
55
- {body}
61
+ {tldr}
56
62
 
57
63
  Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
58
64
  EOF
59
65
  )"
60
66
  ```
61
67
 
62
- ### Step 5: Report
68
+ ### Step 6: Report
63
69
 
64
70
  Display:
65
71
  - The commit hash and message summary
@@ -70,6 +76,7 @@ Display:
70
76
 
71
77
  - Stage and commit everything — do not skip files unless they are clearly sensitive (`.env`, credentials)
72
78
  - If the repo has no git history, run `git init` first
73
- - Make the commit message descriptive enough that someone reading `git log` understands what was accomplished
79
+ - All quality checks (lint, type-check, build) MUST pass before committing fix issues, don't skip them
80
+ - Keep the commit body short — a TL;DR, not an essay
74
81
  - Follow the project's existing commit conventions (check the log first)
75
82
  - Do not push — only commit locally
@@ -0,0 +1,174 @@
1
+ ---
2
+ name: ship-it
3
+ description: >
4
+ Push the current branch to GitHub and create a pull request. Use this skill when the user says
5
+ "ship it", "ship this", "push to github", "create a pr", "open a pull request", "send for review",
6
+ "get this reviewed", or wants to push their work and open a PR. Also use when the user says
7
+ "/ship-it". This skill handles prerequisites, branching, pushing, and PR creation — it does not
8
+ commit or run quality checks (use checkpoint for that first).
9
+ ---
10
+
11
+ # Ship It
12
+
13
+ Push your work to GitHub and open a pull request — handling prerequisites, branch creation, pushing, and PR generation automatically.
14
+
15
+ This skill complements `checkpoint`. Use `checkpoint` to commit locally (with quality gates), then `ship-it` to get the code to GitHub for review.
16
+
17
+ ## Instructions
18
+
19
+ ### Step 0: Prerequisites
20
+
21
+ Verify tooling before doing anything else.
22
+
23
+ 1. **GitHub CLI installed?**
24
+ ```bash
25
+ gh --version
26
+ ```
27
+ If the command fails (not found):
28
+ - Detect the platform and attempt to install:
29
+ - **Windows:** `winget install --id GitHub.cli`
30
+ - **macOS:** `brew install gh`
31
+ - **Linux (Debian/Ubuntu):** follow the official apt instructions
32
+ - If auto-install fails, tell the user what to install and stop.
33
+
34
+ 2. **GitHub CLI authenticated?**
35
+ ```bash
36
+ gh auth status
37
+ ```
38
+ If not authenticated, tell the user:
39
+ ```
40
+ GitHub CLI is not logged in. Please run this in the prompt:
41
+ ! gh auth login
42
+ Then re-run /ship-it.
43
+ ```
44
+ Stop here — do not proceed until auth is confirmed.
45
+
46
+ 3. **Git remote exists?**
47
+ ```bash
48
+ git remote -v
49
+ ```
50
+ If no remote named `origin` exists, stop and tell the user:
51
+ ```
52
+ No git remote found. Add one with:
53
+ git remote add origin https://github.com/{user}/{repo}.git
54
+ ```
55
+
56
+ ### Step 1: Detect the Environment
57
+
58
+ Run these commands to understand the current state:
59
+
60
+ 1. `git branch --show-current` — get the current branch name
61
+ 2. Detect the default branch:
62
+ ```bash
63
+ gh repo view --json defaultBranchRef --jq '.defaultBranchRef.name'
64
+ ```
65
+ 3. `git status --porcelain` — check for uncommitted changes
66
+
67
+ If there are uncommitted changes, stop and tell the user:
68
+ ```
69
+ You have uncommitted changes. Run /checkpoint first to commit them, then /ship-it to push.
70
+ ```
71
+
72
+ Store the default branch name for use throughout the remaining steps.
73
+
74
+ ### Step 2: Check for Unpushed Commits
75
+
76
+ Determine if there are commits that haven't been pushed yet.
77
+
78
+ **If on a feature branch with a remote tracking branch:**
79
+ ```bash
80
+ git log @{upstream}..HEAD --oneline
81
+ ```
82
+
83
+ **If on a feature branch with no remote tracking branch, or on the default branch:**
84
+ ```bash
85
+ git log origin/{default_branch}..HEAD --oneline
86
+ ```
87
+
88
+ If there are **no unpushed commits**, stop and tell the user:
89
+ ```
90
+ Nothing to ship — all commits are already pushed.
91
+ ```
92
+
93
+ Save the list of unpushed commit messages for use in later steps.
94
+
95
+ ### Step 3: Handle Branching
96
+
97
+ **If already on a feature branch** (not the default branch):
98
+ - Stay on it. No branching needed.
99
+ - Skip to Step 4.
100
+
101
+ **If on the default branch:**
102
+ - Generate a branch name from the unpushed commit messages:
103
+ - Read the commit subjects
104
+ - Derive a kebab-case branch name with a conventional prefix: `feat/`, `fix/`, `refactor/`, `chore/`, `docs/` based on the commit content
105
+ - Keep it short (3-5 words max after the prefix), e.g., `feat/add-user-auth`, `fix/login-redirect-loop`
106
+ - Strip special characters, lowercase everything
107
+ - Create and switch to the new branch:
108
+ ```bash
109
+ git checkout -b {branch_name}
110
+ ```
111
+ - Tell the user: `Created branch {branch_name}`
112
+
113
+ ### Step 4: Push to Origin
114
+
115
+ ```bash
116
+ git push -u origin {branch_name}
117
+ ```
118
+
119
+ If the branch already has a remote tracking branch, a regular `git push` is fine.
120
+
121
+ ### Step 5: Check for Existing PR
122
+
123
+ Before creating a new PR, check if one already exists for this branch:
124
+
125
+ ```bash
126
+ gh pr view --json number,url,title,state 2>/dev/null
127
+ ```
128
+
129
+ If a PR already exists and is **open**:
130
+ - Do NOT create a new one
131
+ - Skip to Step 7 and report the existing PR with a note that new commits were pushed.
132
+
133
+ If no PR exists (or it is closed/merged), proceed to Step 6.
134
+
135
+ ### Step 6: Create the Pull Request
136
+
137
+ Generate the PR title and body from the unpushed commits:
138
+
139
+ - **Title**: concise summary under 70 chars. If single commit, use its subject. If multiple, synthesize a short summary. Imperative mood.
140
+ - **Body**: TL;DR of the changes in 2-4 bullet points max.
141
+
142
+ ```bash
143
+ gh pr create --base {default_branch} --head {branch_name} --title "{title}" --body "$(cat <<'EOF'
144
+ ## Summary
145
+ {2-4 bullet points}
146
+
147
+ ---
148
+ 🤖 Generated with [Claude Code](https://claude.com/claude-code)
149
+ EOF
150
+ )"
151
+ ```
152
+
153
+ ### Step 7: Report
154
+
155
+ Display the result clearly:
156
+
157
+ ```
158
+ Shipped to GitHub:
159
+ Branch: {branch_name}
160
+ PR: #{number} — {title}
161
+ URL: {url}
162
+ ```
163
+
164
+ ## Important
165
+
166
+ - Do NOT run lint, type-check, or build — that is checkpoint's job
167
+ - Do NOT commit anything — only push existing commits and create a PR
168
+ - If the user has uncommitted changes, tell them to run /checkpoint first
169
+ - Keep the PR body short — a TL;DR, not an essay
170
+ - Always check for an existing open PR before creating a new one to avoid duplicates
171
+ - Detect the default branch dynamically — do not hardcode `main` or `master`
172
+ - When creating a branch from the default branch, use conventional prefixes (`feat/`, `fix/`, etc.) with kebab-case names
173
+ - Never run destructive git operations (no `--force`, no `reset --hard`)
174
+ - If `gh` is not installed or authenticated, help the user get set up before proceeding
@@ -17,7 +17,12 @@
17
17
  - Identify changes from the plan that can be implemented in parallel, and use sub-agents to implement the features efficiently
18
18
  - When using sub-agents to implement features, act as a coordinator only
19
19
  - Use the best model for the task - premium models for complex tasks (like coding) and mid-tier models for simpler tasks, like documentation
20
- - After completing features (large or small), always run commands like lint and type check to check code quality
20
+ - After completing features (large or small), always run commands like lint, type check and next build to check code quality
21
+
22
+ ## DATABASE SCHEMA CHANGES
23
+
24
+ - Whenever you make changes to the database schema, ALWAYS run the drizzle generate and migrate commands
25
+ - NEVER run drizzle push!
21
26
 
22
27
  ## TESTING
23
28
 
@@ -27,5 +32,5 @@
27
32
 
28
33
  ## UI DESIGN
29
34
 
30
- - Always following the UI design system when creating or reviewing components or pages.
35
+ - Always follow the UI design system when creating or reviewing components or pages.
31
36
  - Design System: @DESIGN.md