@slahon/lazykit 1.2.7 → 1.2.8

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/README.md CHANGED
@@ -23,6 +23,7 @@ Run this from your **project's root directory** — the same folder that contain
23
23
  - A Claude Pro or Max subscription ([claude.ai](https://claude.ai))
24
24
  - Claude Code installed locally (`npm install -g @anthropic-ai/claude-code`)
25
25
  - GitHub CLI (`gh`) — required for full automation (`brew install gh` / [cli.github.com](https://cli.github.com))
26
+ - **Claude Code GitHub App** installed on your repo — [github.com/apps/claude](https://github.com/apps/claude) *(required for the Actions workflow to run)*
26
27
 
27
28
  > **All `npx @slahon/lazykit` commands must be run from your project's root directory** — the folder where your `.git` directory lives and your GitHub remote is configured.
28
29
 
@@ -74,6 +75,7 @@ Running `npx @slahon/lazykit@latest init` fully sets up your repo — no manual
74
75
  | Creates label | Creates the trigger label on GitHub |
75
76
  | Enables PR creation | Grants Actions permission to open pull requests |
76
77
  | Sets token | Runs `claude setup-token` and stores it as `CLAUDE_CODE_OAUTH_TOKEN` in your repo secrets |
78
+ | GitHub App | Prompts you to install the Claude Code GitHub App on your repo |
77
79
  | Commits and pushes | Commits all generated files and pushes to GitHub |
78
80
 
79
81
  ## Commands
package/init.js CHANGED
@@ -229,9 +229,22 @@ async function init({ dryRun = false } = {}) {
229
229
  }
230
230
  }
231
231
 
232
+ // ─── Step 11: Install Claude Code GitHub App ──────────────────────────────
233
+ if (!dryRun) {
234
+ console.log('\n' + chalk.bold.white(' 📦 Install the Claude Code GitHub App\n'));
235
+ console.log(chalk.gray(' The workflow requires the Claude Code GitHub App installed on your repo.'));
236
+ console.log(chalk.gray(' Without it, the Actions run will fail with a 401 error.\n'));
237
+ console.log(' ' + chalk.bold.cyan('→ https://github.com/apps/claude') + '\n');
238
+ console.log(chalk.gray(' Click "Install" → select your account → grant access to this repo.'));
239
+ console.log(chalk.gray(' Takes about 30 seconds.\n'));
240
+ await confirm('Installed the GitHub App? (press Enter to continue)', true);
241
+ } else {
242
+ log.info('[dry-run] Would prompt: install Claude Code GitHub App at https://github.com/apps/claude');
243
+ }
244
+
232
245
  log.divider();
233
246
 
234
- // ─── Step 11: Commit and push ──────────────────────────────────────────────
247
+ // ─── Step 12: Commit and push ──────────────────────────────────────────────
235
248
  if (dryRun) {
236
249
  log.info('[dry-run] Would commit and push generated files');
237
250
  log.blank();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@slahon/lazykit",
3
- "version": "1.2.7",
3
+ "version": "1.2.8",
4
4
  "description": "Drop an issue, get a PR. AI-powered issue-to-PR automation using Claude.",
5
5
  "bin": {
6
6
  "lazykit": "./index.js"
package/status.js CHANGED
@@ -107,6 +107,10 @@ async function status() {
107
107
  log.success("No branch protection on main — Claude's PRs can be merged directly");
108
108
  }
109
109
 
110
+ log.blank();
111
+ log.info(`Claude Code GitHub App: verify it's installed at ${chalk.cyan(`https://github.com/apps/claude`)}`);
112
+ log.info(' If the Actions run fails with a 401 error, the app is not installed.');
113
+
110
114
  console.log();
111
115
  }
112
116