shokunin 1.0.0 → 1.1.0
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 +1 -1
- package/bin/install.js +0 -17
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -133,7 +133,7 @@ After the PR is merged on GitHub, clean up with `git worktree remove`.
|
|
|
133
133
|
|
|
134
134
|
## Plan File Format
|
|
135
135
|
|
|
136
|
-
Plans live at `.claude/plans/<TICKET>.md` — one per feature,
|
|
136
|
+
Plans live at `.claude/plans/<TICKET>.md` — one per feature, tracked in git on the feature branch. `/ship` removes the plan file during the squash commit, so plans never reach main.
|
|
137
137
|
|
|
138
138
|
```markdown
|
|
139
139
|
# Feature: Add user authentication
|
package/bin/install.js
CHANGED
|
@@ -33,19 +33,6 @@ function filesDiffer(src, dest) {
|
|
|
33
33
|
return srcContent !== destContent;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
function addToGitignore(projectRoot) {
|
|
37
|
-
const gitignorePath = path.join(projectRoot, '.gitignore');
|
|
38
|
-
const entry = '.claude/plans/';
|
|
39
|
-
|
|
40
|
-
if (fs.existsSync(gitignorePath)) {
|
|
41
|
-
const content = fs.readFileSync(gitignorePath, 'utf8');
|
|
42
|
-
if (content.includes(entry)) return false;
|
|
43
|
-
fs.appendFileSync(gitignorePath, `\n# Shokunin feature plans (working documents)\n${entry}\n`);
|
|
44
|
-
} else {
|
|
45
|
-
fs.writeFileSync(gitignorePath, `# Shokunin feature plans (working documents)\n${entry}\n`);
|
|
46
|
-
}
|
|
47
|
-
return true;
|
|
48
|
-
}
|
|
49
36
|
|
|
50
37
|
async function promptUser(question) {
|
|
51
38
|
const rl = readline.createInterface({
|
|
@@ -146,16 +133,12 @@ async function main() {
|
|
|
146
133
|
}
|
|
147
134
|
}
|
|
148
135
|
|
|
149
|
-
// Update .gitignore
|
|
150
|
-
const gitignoreUpdated = addToGitignore(projectRoot);
|
|
151
|
-
|
|
152
136
|
// Summary
|
|
153
137
|
console.log('');
|
|
154
138
|
console.log(' Done!');
|
|
155
139
|
if (installed > 0) console.log(` Installed: ${installed}`);
|
|
156
140
|
if (updated > 0) console.log(` Updated: ${updated}`);
|
|
157
141
|
if (skipped > 0) console.log(` Unchanged: ${skipped}`);
|
|
158
|
-
if (gitignoreUpdated) console.log(' Added .claude/plans/ to .gitignore');
|
|
159
142
|
console.log('');
|
|
160
143
|
console.log(' Skills installed:');
|
|
161
144
|
for (const skill of SKILLS) {
|