@ramon-sg/issue-flow 0.2.2 → 0.2.4
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/dist/config.js +1 -1
- package/dist/issue-text.d.ts +4 -3
- package/dist/issue-text.js +5 -4
- package/dist/package-edits.d.ts +1 -1
- package/dist/package-edits.js +1 -1
- package/dist/start-place.js +1 -1
- package/dist/start-summary.js +1 -1
- package/package.json +2 -2
- package/schema.json +2 -2
package/README.md
CHANGED
|
@@ -261,7 +261,7 @@ Todo es opcional; sin el archivo valen los valores por defecto. Una clave descon
|
|
|
261
261
|
| `worktrees.ports` | Apagado | `true` para bloques de 10 desde 20000, o `{ start, blockSize, blocks }` |
|
|
262
262
|
| `worktrees.dockerProjects` | Ninguno | Prefijos de los proyectos de Compose de los worktrees |
|
|
263
263
|
| `start.commitMessage` | `chore: empieza el trabajo en la issue #{number} [skip ci]` | Commit vacío inicial |
|
|
264
|
-
| `start.prBody` | `{keyword} #{number}` y "En progreso." | Cuerpo del PR en draft |
|
|
264
|
+
| `start.prBody` | `{keyword} #{number}`, la URL de la issue (`{url}`) y "En progreso." | Cuerpo del PR en draft |
|
|
265
265
|
| `start.prompt`, `start.resumePrompt` | Resumir la issue y seguir `start-issue`, o retomar desde `{plan}` | Pedido con que se abre Claude |
|
|
266
266
|
| `start.summaryPrompt`, `start.summaryPlanPrompt` | Resumir y esperar | Pedido de `--plan` |
|
|
267
267
|
| `start.cloudPrompt` | `/start-issue {number} --yes{flags}` | Lo que `--cloud` le pide a la sesión; `{flags}` es `--new` o `--resume <rama>` |
|
package/dist/config.js
CHANGED
|
@@ -34,7 +34,7 @@ export const DEFAULT_CONFIG = {
|
|
|
34
34
|
worktrees: { dir: ".claude/worktrees", setup: [], teardown: [], ports: null, dockerProjects: [] },
|
|
35
35
|
start: {
|
|
36
36
|
commitMessage: "chore: empieza el trabajo en la issue #{number} [skip ci]",
|
|
37
|
-
prBody: "{keyword} #{number}\n\nEn progreso.",
|
|
37
|
+
prBody: "{keyword} #{number}\n\nIssue: {url}\n\nEn progreso.",
|
|
38
38
|
prompt: "Issue #{number}. Lee la issue con `npx @ramon-sg/github-rest issue view {number}`, resúmela en lenguaje llano y sigue la skill start-issue para elegir el flujo.",
|
|
39
39
|
resumePrompt: "Issue #{number}. Lee la issue con `npx @ramon-sg/github-rest issue view {number}`, resúmela en lenguaje llano y retoma el trabajo según {plan}: revisa qué tareas quedan.",
|
|
40
40
|
summaryPrompt: "Issue #{number}. Lee la issue con `npx @ramon-sg/github-rest issue view {number}` y resúmela en lenguaje llano. No empieces a trabajar ni a planificar: espera mi pedido.",
|
package/dist/issue-text.d.ts
CHANGED
|
@@ -69,13 +69,14 @@ export declare function nextBranch(proposed: string, used: string[]): string;
|
|
|
69
69
|
export declare function fill(template: string, values: Record<string, string>): string;
|
|
70
70
|
/**
|
|
71
71
|
* The draft PR's body from the config's template.
|
|
72
|
-
* @param template - The template, with `{keyword}` and `{
|
|
72
|
+
* @param template - The template, with `{keyword}`, `{number}` and `{url}`.
|
|
73
73
|
* @param number - The issue.
|
|
74
74
|
* @param kind - Whether the PR closes the issue or is part of it.
|
|
75
|
+
* @param url - The issue's URL.
|
|
75
76
|
* @returns The body.
|
|
76
|
-
* @example prBody("{keyword} #{number}", 4, "part") // "Part of #4"
|
|
77
|
+
* @example prBody("{keyword} #{number}", 4, "part", url) // "Part of #4"
|
|
77
78
|
*/
|
|
78
|
-
export declare function prBody(template: string, number: number, kind: PrKind): string;
|
|
79
|
+
export declare function prBody(template: string, number: number, kind: PrKind, url: string): string;
|
|
79
80
|
/**
|
|
80
81
|
* The body of a PR with the words that close the issue (`Closes`, `Fixes`, `Resolves` and
|
|
81
82
|
* their forms, with or without `:`) changed to `Part of`, because the issue now has more
|
package/dist/issue-text.js
CHANGED
|
@@ -121,14 +121,15 @@ export function fill(template, values) {
|
|
|
121
121
|
}
|
|
122
122
|
/**
|
|
123
123
|
* The draft PR's body from the config's template.
|
|
124
|
-
* @param template - The template, with `{keyword}` and `{
|
|
124
|
+
* @param template - The template, with `{keyword}`, `{number}` and `{url}`.
|
|
125
125
|
* @param number - The issue.
|
|
126
126
|
* @param kind - Whether the PR closes the issue or is part of it.
|
|
127
|
+
* @param url - The issue's URL.
|
|
127
128
|
* @returns The body.
|
|
128
|
-
* @example prBody("{keyword} #{number}", 4, "part") // "Part of #4"
|
|
129
|
+
* @example prBody("{keyword} #{number}", 4, "part", url) // "Part of #4"
|
|
129
130
|
*/
|
|
130
|
-
export function prBody(template, number, kind) {
|
|
131
|
-
return fill(template, { keyword: kind === "part" ? "Part of" : "Closes", number: String(number) });
|
|
131
|
+
export function prBody(template, number, kind, url) {
|
|
132
|
+
return fill(template, { keyword: kind === "part" ? "Part of" : "Closes", number: String(number), url });
|
|
132
133
|
}
|
|
133
134
|
/**
|
|
134
135
|
* The body of a PR with the words that close the issue (`Closes`, `Fixes`, `Resolves` and
|
package/dist/package-edits.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export declare function pinnedPackages(versions: OwnVersions): Record<string, st
|
|
|
17
17
|
* @param pkg - The package.json.
|
|
18
18
|
* @param name - The package.
|
|
19
19
|
* @returns Its version range, or null.
|
|
20
|
-
* @example dependencyVersion(pkg, "@ramon-sg/github-rest") // "0.
|
|
20
|
+
* @example dependencyVersion(pkg, "@ramon-sg/github-rest") // "0.3.0"
|
|
21
21
|
*/
|
|
22
22
|
export declare function dependencyVersion(pkg: Record<string, unknown> | null, name: string): string | null;
|
|
23
23
|
/**
|
package/dist/package-edits.js
CHANGED
|
@@ -37,7 +37,7 @@ function dependencyOf(pkg, name) {
|
|
|
37
37
|
* @param pkg - The package.json.
|
|
38
38
|
* @param name - The package.
|
|
39
39
|
* @returns Its version range, or null.
|
|
40
|
-
* @example dependencyVersion(pkg, "@ramon-sg/github-rest") // "0.
|
|
40
|
+
* @example dependencyVersion(pkg, "@ramon-sg/github-rest") // "0.3.0"
|
|
41
41
|
*/
|
|
42
42
|
export function dependencyVersion(pkg, name) {
|
|
43
43
|
return dependencyOf(pkg, name)?.version ?? null;
|
package/dist/start-place.js
CHANGED
|
@@ -142,7 +142,7 @@ export async function publish(state) {
|
|
|
142
142
|
head: branch,
|
|
143
143
|
base: state.base,
|
|
144
144
|
title: state.issue.title,
|
|
145
|
-
body: prBody(options.config.start.prBody, options.number, state.kind),
|
|
145
|
+
body: prBody(options.config.start.prBody, options.number, state.kind, state.issue.url),
|
|
146
146
|
draft: true,
|
|
147
147
|
});
|
|
148
148
|
state.out.stdout(`${created.url}\n`);
|
package/dist/start-summary.js
CHANGED
|
@@ -67,7 +67,7 @@ export function plannedActions(state) {
|
|
|
67
67
|
if (commit || !onOrigin(mainRoot, branch))
|
|
68
68
|
actions.push("push -u");
|
|
69
69
|
if (state.pr === null) {
|
|
70
|
-
const first = prBody(state.options.config.start.prBody, number, state.kind).split("\n")[0];
|
|
70
|
+
const first = prBody(state.options.config.start.prBody, number, state.kind, state.issue.url).split("\n")[0];
|
|
71
71
|
actions.push(`draft PR (${first})`);
|
|
72
72
|
const others = openPrsElsewhere(state.work.prs, branch);
|
|
73
73
|
if (state.kind === "part" && others.length > 0)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ramon-sg/issue-flow",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4",
|
|
4
4
|
"description": "Issue-to-PR workflow for any repo: names each issue's branch, creates its worktree, opens the draft PR and launches Claude Code, locally and in Claude's cloud.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -17,6 +17,6 @@
|
|
|
17
17
|
"test": "tsc && node --test test/*.test.mjs",
|
|
18
18
|
"prepublishOnly": "npm test"
|
|
19
19
|
},
|
|
20
|
-
"dependencies": { "@ramon-sg/github-rest": "0.
|
|
20
|
+
"dependencies": { "@ramon-sg/github-rest": "0.3.0" },
|
|
21
21
|
"devDependencies": { "@ramon-sg/skills-manager": "1.2.0", "@types/node": "^24.0.0", "typescript": "^5.9.3" }
|
|
22
22
|
}
|
package/schema.json
CHANGED
|
@@ -188,10 +188,10 @@
|
|
|
188
188
|
"default": "chore: empieza el trabajo en la issue #{number} [skip ci]"
|
|
189
189
|
},
|
|
190
190
|
"prBody": {
|
|
191
|
-
"description": "Body of the draft PR; {keyword} is Closes, or Part of when the issue has another live branch.",
|
|
191
|
+
"description": "Body of the draft PR; {keyword} is Closes, or Part of when the issue has another live branch; {number} and {url} are the issue's. The session that starts the issue changes \"En progreso.\" for a short summary.",
|
|
192
192
|
"type": "string",
|
|
193
193
|
"minLength": 1,
|
|
194
|
-
"default": "{keyword} #{number}\n\nEn progreso."
|
|
194
|
+
"default": "{keyword} #{number}\n\nIssue: {url}\n\nEn progreso."
|
|
195
195
|
},
|
|
196
196
|
"prompt": {
|
|
197
197
|
"description": "Prompt Claude opens with on a new branch; {number}, {title} (text anyone can write in the issue: better left out).",
|