@slahon/lazykit 1.2.6 → 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 +6 -3
- package/init.js +14 -1
- package/package.json +1 -1
- package/status.js +4 -0
package/README.md
CHANGED
|
@@ -14,15 +14,18 @@ You describe what you want. Claude ships it.
|
|
|
14
14
|
npx @slahon/lazykit@latest init
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
Run this
|
|
17
|
+
Run this from your **project's root directory** — the same folder that contains your `.git` folder and has a GitHub remote configured. That's it. LazyKit handles everything else automatically.
|
|
18
18
|
|
|
19
19
|
## Requirements
|
|
20
20
|
|
|
21
21
|
- Node.js 18+
|
|
22
|
-
- A GitHub repository with a remote set up
|
|
22
|
+
- A GitHub repository with a remote set up (`git remote -v` should show a GitHub URL)
|
|
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)*
|
|
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.
|
|
26
29
|
|
|
27
30
|
## How it works
|
|
28
31
|
|
|
@@ -72,6 +75,7 @@ Running `npx @slahon/lazykit@latest init` fully sets up your repo — no manual
|
|
|
72
75
|
| Creates label | Creates the trigger label on GitHub |
|
|
73
76
|
| Enables PR creation | Grants Actions permission to open pull requests |
|
|
74
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 |
|
|
75
79
|
| Commits and pushes | Commits all generated files and pushes to GitHub |
|
|
76
80
|
|
|
77
81
|
## Commands
|
|
@@ -120,7 +124,6 @@ During `npx @slahon/lazykit@latest init` you will be asked:
|
|
|
120
124
|
|
|
121
125
|
| Option | Default | Description |
|
|
122
126
|
|--------|---------|-------------|
|
|
123
|
-
| Label name | `lazykit` | The GitHub label that triggers Claude |
|
|
124
127
|
| Auto-trigger | Yes | Trigger Claude on every new issue, or only when you apply the label |
|
|
125
128
|
| Generate CLAUDE.md | Yes | Create a project guide for Claude |
|
|
126
129
|
|
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
|
|
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
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
|
|