chief-clancy 0.8.0 → 0.8.2

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": "chief-clancy",
3
- "version": "0.8.0",
3
+ "version": "0.8.2",
4
4
  "description": "Autonomous, board-driven development for Claude Code — scaffolds docs, integrates Kanban boards, runs tickets in a loop.",
5
5
  "keywords": [
6
6
  "claude",
@@ -23,6 +23,10 @@ Fetch backlog tickets from the board, explore the codebase, and generate structu
23
23
  Stop.
24
24
 
25
25
  4. Check `.clancy/docs/` — if the directory is empty or missing:
26
+
27
+ **AFK mode** (`--afk` flag or `CLANCY_MODE=afk`): continue without prompting (log a warning).
28
+
29
+ **Interactive mode:**
26
30
  ```
27
31
  ⚠️ No codebase documentation found in .clancy/docs/
28
32
  Plans will be less accurate without codebase context.
@@ -33,6 +37,10 @@ Fetch backlog tickets from the board, explore the codebase, and generate structu
33
37
  If the user declines, stop. If they confirm, continue without docs context.
34
38
 
35
39
  5. Branch freshness check — run `git fetch origin` and compare the current HEAD with `origin/$CLANCY_BASE_BRANCH` (defaults to `main`). If the local branch is behind:
40
+
41
+ **AFK mode** (`--afk` flag or `CLANCY_MODE=afk`): auto-pull without prompting. Run `git pull origin $CLANCY_BASE_BRANCH` and continue.
42
+
43
+ **Interactive mode:**
36
44
  ```
37
45
  ⚠️ Your local branch is behind origin/{CLANCY_BASE_BRANCH} by {N} commit(s).
38
46
 
@@ -4,6 +4,9 @@ Update Clancy itself to the latest version via npx and show what changed.
4
4
 
5
5
  This re-runs the installer, which copies the latest command files from the npm package into your .claude/commands/clancy/ directory. Your .clancy/ project folder (scripts, docs, progress log) is never touched.
6
6
 
7
+ **Supported flags:**
8
+ - `--afk` — skip the confirmation prompt and auto-approve the update (for autonomous setups)
9
+
7
10
  @.claude/clancy/workflows/update.md
8
11
 
9
- Run the update as documented in the workflow above.
12
+ Run the update as documented in the workflow above. If `--afk` is passed, skip all confirmation prompts.
@@ -127,7 +127,9 @@ Note: `.clancy/clancy-once.js` and `.clancy/clancy-afk.js` **will be replaced**
127
127
  the latest bundled versions. The rest of `.clancy/` is untouched.
128
128
  ```
129
129
 
130
- Ask the user: **"Proceed with update?"** with options:
130
+ **AFK mode check:** If `--afk` flag is passed OR `CLANCY_MODE=afk` in `.clancy/.env`, **skip the confirmation and proceed automatically.** Do not prompt — auto-approve the update.
131
+
132
+ **Interactive mode:** Ask the user: **"Proceed with update?"** with options:
131
133
  - "Yes, update now"
132
134
  - "No, cancel"
133
135
 
@@ -27,6 +27,10 @@ Approve a reviewed strategic brief by creating child tickets on the board, linki
27
27
  git fetch origin
28
28
  ```
29
29
  Compare HEAD with `origin/$CLANCY_BASE_BRANCH`. If behind:
30
+
31
+ **AFK mode** (`--afk` flag or `CLANCY_MODE=afk`): auto-pull without prompting.
32
+
33
+ **Interactive mode:**
30
34
  ```
31
35
  Behind by N commits. [1] Pull latest [2] Continue [3] Abort
32
36
  ```
@@ -23,6 +23,10 @@ Research an idea, interrogate it thoroughly, and generate a structured strategic
23
23
  Stop.
24
24
 
25
25
  4. Branch freshness check — run `git fetch origin` and compare the current HEAD with `origin/$CLANCY_BASE_BRANCH` (defaults to `main`). If the local branch is behind:
26
+
27
+ **AFK mode** (`--afk` flag or `CLANCY_MODE=afk`): auto-pull without prompting. Run `git pull origin $CLANCY_BASE_BRANCH` and continue.
28
+
29
+ **Interactive mode:**
26
30
  ```
27
31
  ⚠️ Your local branch is behind origin/{CLANCY_BASE_BRANCH} by {N} commit(s).
28
32
 
@@ -1,80 +0,0 @@
1
- # Clancy — GitHub Issues configuration
2
- # Copy this file to .env and fill in your values.
3
- # Never commit .env to version control.
4
-
5
- # ─── GitHub Issues ────────────────────────────────────────────────────────────
6
- GITHUB_TOKEN=ghp_your-personal-access-token
7
- GITHUB_REPO=owner/repo-name
8
-
9
- # Optional: only pick up issues with this label (in addition to 'clancy').
10
- # Useful for mixed backlogs where not every issue is suitable for autonomous implementation.
11
- # Create the label in GitHub first, then add it to any issue you want Clancy to pick up.
12
- # CLANCY_LABEL=clancy
13
-
14
- # ─── Git ──────────────────────────────────────────────────────────────────────
15
- # Base integration branch. Clancy branches from here when an issue has no milestone.
16
- # When an issue has a milestone, Clancy auto-creates milestone/{slug} from this branch.
17
- CLANCY_BASE_BRANCH=main
18
-
19
- # ─── Optional roles ─────────────────────────────────────────────────────────
20
- # Comma-separated list of optional roles to enable (e.g. planner)
21
- # Core roles (implementer, reviewer, setup) are always active.
22
- # CLANCY_ROLES=planner,strategist
23
-
24
- # ─── Loop ─────────────────────────────────────────────────────────────────────
25
- # Max tickets to process per /clancy:run session (default: 20)
26
- MAX_ITERATIONS=20
27
-
28
- # ─── Model ────────────────────────────────────────────────────────────────────
29
- # Claude model used for each ticket session. Leave unset to use the default.
30
- # Options: claude-opus-4-6 | claude-sonnet-4-6 | claude-haiku-4-5
31
- # CLANCY_MODEL=claude-sonnet-4-6
32
-
33
- # ─── Optional: Figma MCP ──────────────────────────────────────────────────────
34
- # Fetch design specs from Figma when a ticket has a Figma URL in its description
35
- # FIGMA_API_KEY=your-figma-api-key
36
-
37
- # ─── Optional: Playwright visual checks ───────────────────────────────────────
38
- # Run a visual check after implementing UI tickets
39
- # PLAYWRIGHT_ENABLED=true
40
- # PLAYWRIGHT_DEV_COMMAND="yarn dev"
41
- # PLAYWRIGHT_DEV_PORT=5173
42
- # PLAYWRIGHT_STORYBOOK_COMMAND="yarn storybook"
43
- # PLAYWRIGHT_STORYBOOK_PORT=6006
44
- # PLAYWRIGHT_STARTUP_WAIT=15
45
-
46
- # ─── Optional: Planner queue ─────────────────────────────────────────────────
47
- # Label for unrefined tickets that /clancy:plan should fetch (default: needs-refinement)
48
- # CLANCY_PLAN_LABEL=needs-refinement
49
-
50
- # ─── Optional: Notifications ──────────────────────────────────────────────────
51
- # Webhook URL for Slack or Teams notifications on ticket completion
52
- # CLANCY_NOTIFY_WEBHOOK=https://hooks.slack.com/services/your/webhook/url
53
-
54
- # ─── Optional: Strategist ──────────────────────────────────────────────────
55
- # Default parent issue for text/file-sourced briefs
56
- # CLANCY_BRIEF_EPIC=50
57
- # Auto-set component label on created tickets
58
- # CLANCY_COMPONENT=api
59
- # Grill mode: "interactive" (human grill) or "afk" (AI-grill). Default: interactive
60
- # CLANCY_MODE=interactive
61
-
62
- # ─── Optional: Pipeline labels ────────────────────────────────────────────────
63
- # Labels that control ticket flow through pipeline stages.
64
- # CLANCY_LABEL_BRIEF marks tickets that have been briefed (awaiting approval).
65
- # CLANCY_LABEL_PLAN marks tickets that need planning.
66
- # CLANCY_LABEL_BUILD marks tickets ready for implementation.
67
- # Deprecated: CLANCY_LABEL (use CLANCY_LABEL_BUILD), CLANCY_PLAN_LABEL (use CLANCY_LABEL_PLAN)
68
- # CLANCY_LABEL_BRIEF="clancy:brief"
69
- # CLANCY_LABEL_PLAN="clancy:plan"
70
- # CLANCY_LABEL_BUILD="clancy:build"
71
-
72
- # ─── Optional: Reliable autonomous mode ─────────────────────────────────────
73
- # Max self-healing fix attempts before delivering with warnings (default: 2, 0 to disable)
74
- # CLANCY_FIX_RETRIES=2
75
- # Per-ticket time limit in minutes (default: 30, 0 to disable)
76
- # CLANCY_TIME_LIMIT=30
77
- # Block force push, protected branch push, destructive resets (default: true)
78
- # CLANCY_BRANCH_GUARD=true
79
- # Token estimation rate for cost logging (tokens/min, default: 6600)
80
- # CLANCY_TOKEN_RATE=6600
@@ -1,102 +0,0 @@
1
- # Clancy — Jira configuration
2
- # Copy this file to .env and fill in your values.
3
- # Never commit .env to version control.
4
-
5
- # ─── Jira ─────────────────────────────────────────────────────────────────────
6
- JIRA_BASE_URL=https://your-org.atlassian.net
7
- JIRA_USER=your-email@example.com
8
- JIRA_API_TOKEN=your-api-token-from-id.atlassian.com
9
- JIRA_PROJECT_KEY=PROJ
10
-
11
- # Status name for "ready to be picked up" (default: To Do)
12
- # Must be quoted if the status name contains spaces (e.g. "Selected for Development")
13
- CLANCY_JQL_STATUS="To Do"
14
-
15
- # Set to any non-empty value to filter by open sprints (requires Jira Software)
16
- # Remove or leave empty if your project doesn't use sprints
17
- # CLANCY_JQL_SPRINT=true
18
-
19
- # Optional: only pick up tickets with this label. Recommended for mixed backlogs
20
- # where not every ticket is suitable for autonomous implementation (e.g. non-code tasks).
21
- # Create the label in Jira first, then add it to any ticket you want Clancy to pick up.
22
- # CLANCY_LABEL="clancy"
23
-
24
- # ─── Git ──────────────────────────────────────────────────────────────────────
25
- # Base integration branch. Clancy branches from here when a ticket has no parent epic.
26
- # When a ticket has a parent epic, Clancy auto-creates epic/{key} from this branch.
27
- CLANCY_BASE_BRANCH=main
28
-
29
- # ─── Optional roles ─────────────────────────────────────────────────────────
30
- # Comma-separated list of optional roles to enable (e.g. planner)
31
- # Core roles (implementer, reviewer, setup) are always active.
32
- # CLANCY_ROLES=planner,strategist
33
-
34
- # ─── Loop ─────────────────────────────────────────────────────────────────────
35
- # Max tickets to process per /clancy:run session (default: 5)
36
- MAX_ITERATIONS=5
37
-
38
- # ─── Model ────────────────────────────────────────────────────────────────────
39
- # Claude model used for each ticket session. Leave unset to use the default.
40
- # Options: claude-opus-4-6 | claude-sonnet-4-6 | claude-haiku-4-5
41
- # CLANCY_MODEL=claude-sonnet-4-6
42
-
43
- # ─── Optional: Figma MCP ──────────────────────────────────────────────────────
44
- # Fetch design specs from Figma when a ticket has a Figma URL in its description
45
- # FIGMA_API_KEY=your-figma-api-key
46
-
47
- # ─── Optional: Playwright visual checks ───────────────────────────────────────
48
- # Run a visual check after implementing UI tickets
49
- # PLAYWRIGHT_ENABLED=true
50
- # PLAYWRIGHT_DEV_COMMAND="yarn dev"
51
- # PLAYWRIGHT_DEV_PORT=5173
52
- # PLAYWRIGHT_STORYBOOK_COMMAND="yarn storybook"
53
- # PLAYWRIGHT_STORYBOOK_PORT=6006
54
- # PLAYWRIGHT_STARTUP_WAIT=15
55
-
56
- # ─── Optional: Planner queue ─────────────────────────────────────────────────
57
- # Status name for backlog tickets that /clancy:plan should fetch (default: Backlog)
58
- # CLANCY_PLAN_STATUS="Backlog"
59
-
60
- # ─── Optional: Status transitions ────────────────────────────────────────────
61
- # Move tickets automatically when Clancy picks up or completes them.
62
- # Set to the exact status name shown in your Jira board column header.
63
- # CLANCY_STATUS_IN_PROGRESS="In Progress"
64
- # CLANCY_STATUS_DONE="Done"
65
-
66
- # ─── Optional: Notifications ──────────────────────────────────────────────────
67
- # Webhook URL for Slack or Teams notifications on ticket completion
68
- # CLANCY_NOTIFY_WEBHOOK=https://hooks.slack.com/services/your/webhook/url
69
-
70
- # ─── Optional: Strategist ──────────────────────────────────────────────────
71
- # Issue type for tickets created by /clancy:approve-brief (default: Task)
72
- # CLANCY_BRIEF_ISSUE_TYPE=Task
73
- # Default parent epic for text/file-sourced briefs
74
- # CLANCY_BRIEF_EPIC=PROJ-100
75
- # Auto-set component on created tickets
76
- # CLANCY_COMPONENT=api
77
- # Grill mode: "interactive" (human grill) or "afk" (AI-grill). Default: interactive
78
- # CLANCY_MODE=interactive
79
-
80
- # ─── Optional: Pipeline labels ────────────────────────────────────────────────
81
- # Labels that control ticket flow through pipeline stages.
82
- # CLANCY_LABEL_BRIEF marks tickets that have been briefed (awaiting approval).
83
- # CLANCY_LABEL_PLAN marks tickets that need planning.
84
- # CLANCY_LABEL_BUILD marks tickets ready for implementation.
85
- # Deprecated: CLANCY_LABEL (use CLANCY_LABEL_BUILD), CLANCY_PLAN_LABEL (use CLANCY_LABEL_PLAN)
86
- # CLANCY_LABEL_BRIEF="clancy:brief"
87
- # CLANCY_LABEL_PLAN="clancy:plan"
88
- # CLANCY_LABEL_BUILD="clancy:build"
89
-
90
- # ─── Optional: Reliable autonomous mode ─────────────────────────────────────
91
- # Max self-healing fix attempts before delivering with warnings (default: 2, 0 to disable)
92
- # CLANCY_FIX_RETRIES=2
93
- # Per-ticket time limit in minutes (default: 30, 0 to disable)
94
- # CLANCY_TIME_LIMIT=30
95
- # Block force push, protected branch push, destructive resets (default: true)
96
- # CLANCY_BRANCH_GUARD=true
97
- # Token estimation rate for cost logging (tokens/min, default: 6600)
98
- # CLANCY_TOKEN_RATE=6600
99
-
100
- # ─── Optional: Status transitions (continued) ──────────────────────────────
101
- # Status for PR review (falls back to CLANCY_STATUS_DONE if not set)
102
- # CLANCY_STATUS_REVIEW="In Review"
@@ -1,86 +0,0 @@
1
- # Clancy — Linear configuration
2
- # Copy this file to .env and fill in your values.
3
- # Never commit .env to version control.
4
-
5
- # ─── Linear ───────────────────────────────────────────────────────────────────
6
- LINEAR_API_KEY=lin_api_your-personal-api-key
7
- LINEAR_TEAM_ID=your-team-uuid
8
-
9
- # Optional: only pick up issues with this label. Recommended for mixed backlogs
10
- # where not every issue is suitable for autonomous implementation (e.g. non-code tasks).
11
- # Create the label in Linear first, then add it to any issue you want Clancy to pick up.
12
- # CLANCY_LABEL=clancy
13
-
14
- # ─── Git ──────────────────────────────────────────────────────────────────────
15
- # Base integration branch. Clancy branches from here when an issue has no parent.
16
- # When an issue has a parent, Clancy auto-creates epic/{key} from this branch.
17
- CLANCY_BASE_BRANCH=main
18
-
19
- # ─── Optional roles ─────────────────────────────────────────────────────────
20
- # Comma-separated list of optional roles to enable (e.g. planner)
21
- # Core roles (implementer, reviewer, setup) are always active.
22
- # CLANCY_ROLES=planner,strategist
23
-
24
- # ─── Loop ─────────────────────────────────────────────────────────────────────
25
- # Max tickets to process per /clancy:run session (default: 20)
26
- MAX_ITERATIONS=20
27
-
28
- # ─── Model ────────────────────────────────────────────────────────────────────
29
- # Claude model used for each ticket session. Leave unset to use the default.
30
- # Options: claude-opus-4-6 | claude-sonnet-4-6 | claude-haiku-4-5
31
- # CLANCY_MODEL=claude-sonnet-4-6
32
-
33
- # ─── Optional: Figma MCP ──────────────────────────────────────────────────────
34
- # Fetch design specs from Figma when a ticket has a Figma URL in its description
35
- # FIGMA_API_KEY=your-figma-api-key
36
-
37
- # ─── Optional: Playwright visual checks ───────────────────────────────────────
38
- # Run a visual check after implementing UI tickets
39
- # PLAYWRIGHT_ENABLED=true
40
- # PLAYWRIGHT_DEV_COMMAND="yarn dev"
41
- # PLAYWRIGHT_DEV_PORT=5173
42
- # PLAYWRIGHT_STORYBOOK_COMMAND="yarn storybook"
43
- # PLAYWRIGHT_STORYBOOK_PORT=6006
44
- # PLAYWRIGHT_STARTUP_WAIT=15
45
-
46
- # ─── Optional: Planner queue ─────────────────────────────────────────────────
47
- # State type for backlog issues that /clancy:plan should fetch (default: backlog)
48
- # CLANCY_PLAN_STATE_TYPE=backlog
49
-
50
- # ─── Optional: Status transitions ────────────────────────────────────────────
51
- # Move issues automatically when Clancy picks up or completes them.
52
- # Set to the exact workflow state name shown in your Linear board column header.
53
- # CLANCY_STATUS_IN_PROGRESS="In Progress"
54
- # CLANCY_STATUS_DONE="Done"
55
-
56
- # ─── Optional: Notifications ──────────────────────────────────────────────────
57
- # Webhook URL for Slack or Teams notifications on ticket completion
58
- # CLANCY_NOTIFY_WEBHOOK=https://hooks.slack.com/services/your/webhook/url
59
-
60
- # ─── Optional: Strategist ──────────────────────────────────────────────────
61
- # Default parent issue for text/file-sourced briefs
62
- # CLANCY_BRIEF_EPIC=ENG-100
63
- # Auto-set component label on created tickets
64
- # CLANCY_COMPONENT=api
65
- # Grill mode: "interactive" (human grill) or "afk" (AI-grill). Default: interactive
66
- # CLANCY_MODE=interactive
67
-
68
- # ─── Optional: Pipeline labels ────────────────────────────────────────────────
69
- # Labels that control ticket flow through pipeline stages.
70
- # CLANCY_LABEL_BRIEF marks tickets that have been briefed (awaiting approval).
71
- # CLANCY_LABEL_PLAN marks tickets that need planning.
72
- # CLANCY_LABEL_BUILD marks tickets ready for implementation.
73
- # Deprecated: CLANCY_LABEL (use CLANCY_LABEL_BUILD), CLANCY_PLAN_LABEL (use CLANCY_LABEL_PLAN)
74
- # CLANCY_LABEL_BRIEF="clancy:brief"
75
- # CLANCY_LABEL_PLAN="clancy:plan"
76
- # CLANCY_LABEL_BUILD="clancy:build"
77
-
78
- # ─── Optional: Reliable autonomous mode ─────────────────────────────────────
79
- # Max self-healing fix attempts before delivering with warnings (default: 2, 0 to disable)
80
- # CLANCY_FIX_RETRIES=2
81
- # Per-ticket time limit in minutes (default: 30, 0 to disable)
82
- # CLANCY_TIME_LIMIT=30
83
- # Block force push, protected branch push, destructive resets (default: true)
84
- # CLANCY_BRANCH_GUARD=true
85
- # Token estimation rate for cost logging (tokens/min, default: 6600)
86
- # CLANCY_TOKEN_RATE=6600