@chris1807/claude-kit 2.1.0 → 2.1.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/bin/cli.js CHANGED
@@ -41,10 +41,28 @@ Options:
41
41
  --ado-org=<name> Include Azure DevOps MCP for the named organization
42
42
  --global-only Only install global agents to ~/.claude/agents/
43
43
  --help, -h Show this help
44
+
45
+ Non-interactive (CI / piped / non-TTY contexts):
46
+ Use --global-only OR --all --db=<...> to skip every prompt.
47
+ Without these flags, the installer needs a TTY and will exit early
48
+ rather than hang waiting on stdin.
44
49
  `);
45
50
  process.exit(0);
46
51
  }
47
52
 
53
+ // ============================================================================
54
+ // Non-interactive guard — fail fast instead of hanging on prompts
55
+ // ============================================================================
56
+ const isTTY = Boolean(process.stdin.isTTY);
57
+ const fullyAutomated = globalOnly || (installAll && dbFlag);
58
+ if (!isTTY && !fullyAutomated) {
59
+ console.error(chalk.red('\n ✗ Non-interactive context detected (stdin is not a TTY).'));
60
+ console.error(chalk.yellow(' This installer needs to prompt, but cannot. Use one of:\n'));
61
+ console.error(chalk.gray(' npx @chris1807/claude-kit init --global-only'));
62
+ console.error(chalk.gray(' npx @chris1807/claude-kit init --all --db=<mongo|mssql|azuresql|postgres|none> [--ado-org=<name>]\n'));
63
+ process.exit(1);
64
+ }
65
+
48
66
  // ============================================================================
49
67
  // Banner
50
68
  // ============================================================================
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chris1807/claude-kit",
3
- "version": "2.1.0",
3
+ "version": "2.1.2",
4
4
  "description": "Claude Code starter kit — agents, hooks, MCP servers, slash commands, and workflow automation",
5
5
  "type": "module",
6
6
  "bin": {
@@ -63,6 +63,12 @@ Present the plan to the user:
63
63
  ### Files to Delete (if any)
64
64
  - `path/to/old/file.cs` — {why it's being removed}
65
65
 
66
+ ### Unit Tests
67
+ - `path/to/new.tests.cs` — covers {scenario 1}, {scenario 2}, {edge case}
68
+ - `path/to/existing.tests.cs` — adds cases for {new behavior}
69
+
70
+ List every test file you will add or modify and the scenarios each covers (happy path, error paths, edge cases, regression guards). If a change in this plan has no test coverage, justify why here.
71
+
66
72
  ### Agents
67
73
  - **backend**: {what it will do}
68
74
  - **frontend**: {what it will do}
@@ -111,7 +117,8 @@ Remember the `BASE_BRANCH` — you will need it for the PR step.
111
117
  ## Step 5: Implement
112
118
 
113
119
  1. **Implement** using backend and/or frontend agents according to the approved plan
114
- 2. **Generate mockup** if there are UI changes
120
+ 2. **Write the unit tests** listed in the plan's "Unit Tests" section alongside the implementation — not after
121
+ 3. **Generate mockup** if there are UI changes
115
122
 
116
123
  ## Step 6: Build Validation
117
124
 
@@ -123,7 +130,7 @@ Run a build check **before** any other quality checks. Use the `build-validator`
123
130
  ## Step 7: Quality Checks
124
131
 
125
132
  1. **Review** code for quality, security, and Clean Architecture compliance
126
- 2. **Run tests** — unit, integration, and build validation
133
+ 2. **Run the full test suite** — every unit test in the repo, plus integration tests. Not just the tests added in this change. A failure in an unrelated test means this change broke something else; treat it as a regression, fix it, and re-run until the entire suite is green
127
134
  3. **Run lint** — ESLint and dotnet format
128
135
 
129
136
  ## Step 8: UAT Gate
@@ -79,6 +79,12 @@ Present the plan to the user:
79
79
  ### Files to Delete (if any)
80
80
  - `path/to/old/file.cs` — {why it's being removed}
81
81
 
82
+ ### Unit Tests
83
+ - `path/to/new.tests.cs` — covers {scenario the rework adds or fixes}
84
+ - `path/to/existing.tests.cs` — updates assertions for {changed behavior}
85
+
86
+ List every test file you will add or modify and the scenarios each covers. Rework feedback often reveals missing test coverage on the original implementation — add regression tests that would have caught the original issue. If a rework change in this plan has no test coverage, justify why here.
87
+
82
88
  ### Agents
83
89
  - **backend**: {what it will do}
84
90
  - **frontend**: {what it will do}
@@ -104,7 +110,8 @@ If the PR was completed/merged and the branch was deleted, create a new branch f
104
110
  ## Step 6: Implement
105
111
 
106
112
  1. **Implement** the rework using backend and/or frontend agents according to the approved plan
107
- 2. **Generate mockup** if there are UI changes
113
+ 2. **Write the unit tests** listed in the plan's "Unit Tests" section alongside the implementation — not after. Include any regression test that would have caught the original issue
114
+ 3. **Generate mockup** if there are UI changes
108
115
 
109
116
  ## Step 7: Build Validation
110
117
 
@@ -116,7 +123,7 @@ Run a build check **before** any other quality checks. Use the `build-validator`
116
123
  ## Step 8: Quality Checks
117
124
 
118
125
  1. **Review** code for quality, security, and Clean Architecture compliance
119
- 2. **Run tests** — unit, integration, and build validation
126
+ 2. **Run the full test suite** — every unit test in the repo, plus integration tests. Not just the tests added in this rework. A failure in an unrelated test means this rework broke something else; treat it as a regression, fix it, and re-run until the entire suite is green
120
127
  3. **Run lint** — ESLint and dotnet format
121
128
 
122
129
  ## Step 9: UAT Gate