specweave 0.22.4 → 0.22.6

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/CLAUDE.md CHANGED
@@ -207,6 +207,33 @@ const instance = new MyClass({ logger: silentLogger });
207
207
  git diff --cached --name-only | grep '^src/.*\.ts$' | xargs grep -n 'console\.' 2>/dev/null
208
208
  ```
209
209
 
210
+ **Exception: CLI Commands (User-Facing Output)**:
211
+
212
+ CLI commands in `src/cli/commands/*.ts` are 99% user-facing output (colored messages, progress indicators, confirmations). These files may keep `console.*` calls with proper documentation:
213
+
214
+ ```typescript
215
+ export async function myCommand(options: CommandOptions = {}) {
216
+ // Initialize logger (injectable for testing)
217
+ const logger = options.logger ?? consoleLogger;
218
+
219
+ // NOTE: This CLI command is primarily user-facing output (console.log/console.error).
220
+ // All console.* calls in this file are legitimate user-facing exceptions
221
+ // as defined in CONTRIBUTING.md (colored messages, confirmations, formatted output).
222
+ // Logger infrastructure available for future internal debug logs if needed.
223
+
224
+ // User-facing output (keeps console.log)
225
+ console.log(chalk.green('✅ Operation successful!'));
226
+
227
+ // Internal debug logs (use logger)
228
+ logger.log('Internal state updated');
229
+ }
230
+ ```
231
+
232
+ **Pre-commit hook allows files with documentation marker**:
233
+ - Files with comment `"user-facing output"` or `"legitimate user-facing exceptions"` bypass console.* check
234
+ - Pre-commit hook: `scripts/pre-commit-console-check.sh`
235
+ - See: `.specweave/increments/0046-console-elimination/` for migration pattern
236
+
210
237
  ### 9. Coding Standards
211
238
 
212
239
  **Full standards**: `.specweave/docs/internal/governance/coding-standards.md`
@@ -1,9 +1,11 @@
1
+ import { Logger } from '../../utils/logger.js';
1
2
  interface InitOptions {
2
3
  template?: string;
3
4
  adapter?: string;
4
5
  techStack?: string;
5
6
  language?: string;
6
7
  force?: boolean;
8
+ logger?: Logger;
7
9
  }
8
10
  export declare function initCommand(projectName?: string, options?: InitOptions): Promise<void>;
9
11
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/init.ts"],"names":[],"mappings":"AA0BA,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA8ID,wBAAsB,WAAW,CAC/B,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CAulCf"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,MAAM,EAAiB,MAAM,uBAAuB,CAAC;AAS9D,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA8ID,wBAAsB,WAAW,CAC/B,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CAsrCf"}