specweave 0.8.20 → 0.9.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.
Files changed (36) hide show
  1. package/dist/cli/helpers/issue-tracker/ado.d.ts.map +1 -1
  2. package/dist/cli/helpers/issue-tracker/ado.js +21 -13
  3. package/dist/cli/helpers/issue-tracker/ado.js.map +1 -1
  4. package/dist/cli/helpers/issue-tracker/github.d.ts.map +1 -1
  5. package/dist/cli/helpers/issue-tracker/github.js +143 -1
  6. package/dist/cli/helpers/issue-tracker/github.js.map +1 -1
  7. package/dist/cli/helpers/issue-tracker/jira.d.ts.map +1 -1
  8. package/dist/cli/helpers/issue-tracker/jira.js +148 -2
  9. package/dist/cli/helpers/issue-tracker/jira.js.map +1 -1
  10. package/dist/cli/helpers/issue-tracker/types.d.ts +19 -1
  11. package/dist/cli/helpers/issue-tracker/types.d.ts.map +1 -1
  12. package/dist/cli/helpers/issue-tracker/types.js.map +1 -1
  13. package/dist/core/credentials-manager.d.ts +15 -1
  14. package/dist/core/credentials-manager.d.ts.map +1 -1
  15. package/dist/core/credentials-manager.js +158 -32
  16. package/dist/core/credentials-manager.js.map +1 -1
  17. package/dist/core/sync/folder-mapper.d.ts +71 -0
  18. package/dist/core/sync/folder-mapper.d.ts.map +1 -0
  19. package/dist/core/sync/folder-mapper.js +168 -0
  20. package/dist/core/sync/folder-mapper.js.map +1 -0
  21. package/dist/core/sync/profile-validator.d.ts +52 -0
  22. package/dist/core/sync/profile-validator.d.ts.map +1 -0
  23. package/dist/core/sync/profile-validator.js +225 -0
  24. package/dist/core/sync/profile-validator.js.map +1 -0
  25. package/dist/core/types/sync-profile.d.ts +52 -2
  26. package/dist/core/types/sync-profile.d.ts.map +1 -1
  27. package/dist/utils/env-multi-project-parser.d.ts +22 -12
  28. package/dist/utils/env-multi-project-parser.d.ts.map +1 -1
  29. package/dist/utils/env-multi-project-parser.js +31 -34
  30. package/dist/utils/env-multi-project-parser.js.map +1 -1
  31. package/dist/utils/string-utils.d.ts +40 -0
  32. package/dist/utils/string-utils.d.ts.map +1 -0
  33. package/dist/utils/string-utils.js +58 -0
  34. package/dist/utils/string-utils.js.map +1 -0
  35. package/package.json +1 -1
  36. package/plugins/specweave/skills/specweave-detector/SKILL.md +4 -8
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-utils.d.ts","sourceRoot":"","sources":["../../src/utils/string-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQ3C;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAK3D;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK7C"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * String Utilities
3
+ *
4
+ * Utilities for string manipulation and formatting
5
+ */
6
+ /**
7
+ * Convert a string to kebab-case (lowercase with hyphens)
8
+ *
9
+ * Examples:
10
+ * - "Platform Engineering Team" → "platform-engineering-team"
11
+ * - "FRONTEND" → "frontend"
12
+ * - "League Scheduler Team" → "league-scheduler-team"
13
+ *
14
+ * @param str - Input string to slugify
15
+ * @returns Kebab-case string suitable for folder names
16
+ */
17
+ export function slugify(str) {
18
+ return str
19
+ .toLowerCase()
20
+ .trim()
21
+ .replace(/[^\w\s-]/g, '') // Remove non-word chars except spaces and hyphens
22
+ .replace(/[\s_]+/g, '-') // Replace spaces and underscores with hyphens
23
+ .replace(/-+/g, '-') // Replace multiple hyphens with single hyphen
24
+ .replace(/^-+|-+$/g, ''); // Remove leading/trailing hyphens
25
+ }
26
+ /**
27
+ * Parse comma-separated values and trim whitespace
28
+ *
29
+ * Examples:
30
+ * - "Team A, Team B, Team C" → ["Team A", "Team B", "Team C"]
31
+ * - "FRONTEND,BACKEND,QA" → ["FRONTEND", "BACKEND", "QA"]
32
+ *
33
+ * @param input - Comma-separated string
34
+ * @returns Array of trimmed strings (empty strings removed)
35
+ */
36
+ export function parseCommaSeparated(input) {
37
+ return input
38
+ .split(',')
39
+ .map((s) => s.trim())
40
+ .filter((s) => s.length > 0);
41
+ }
42
+ /**
43
+ * Convert kebab-case to Title Case
44
+ *
45
+ * Examples:
46
+ * - "platform-engineering-team" → "Platform Engineering Team"
47
+ * - "frontend" → "Frontend"
48
+ *
49
+ * @param str - Kebab-case string
50
+ * @returns Title Case string
51
+ */
52
+ export function unslugify(str) {
53
+ return str
54
+ .split('-')
55
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
56
+ .join(' ');
57
+ }
58
+ //# sourceMappingURL=string-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-utils.js","sourceRoot":"","sources":["../../src/utils/string-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,OAAO,GAAG;SACP,WAAW,EAAE;SACb,IAAI,EAAE;SACN,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAE,kDAAkD;SAC5E,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAG,8CAA8C;SACxE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAO,8CAA8C;SACxE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAE,kCAAkC;AACjE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,OAAO,KAAK;SACT,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,OAAO,GAAG;SACP,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SACzE,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specweave",
3
- "version": "0.8.20",
3
+ "version": "0.9.0",
4
4
  "description": "Spec-driven development framework for Claude Code. AI-native workflow with living documentation, intelligent agents, and multilingual support (9 languages). Enterprise-grade traceability with permanent specs and temporary increments.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,17 +1,13 @@
1
1
  ---
2
2
  name: specweave-detector
3
- description: Detects SpecWeave context (.specweave/ directory exists) and provides workflow documentation. v0.3.8+ features PROACTIVE auto-detection - when in SpecWeave folder, product descriptions automatically trigger increment planning. Explicit slash commands still work (/inc, /specweave:do, /specweave:progress, /specweave:validate, /specweave:done, /specweave:sync-docs, /sync-github). Keywords slash commands, /specweave:increment, /increment, /specweave:do, /specweave:progress, /specweave:validate, /specweave:done, specweave commands, smart workflow, auto-detection, specweave folder.
3
+ description: Detects SpecWeave context (.specweave/ directory exists) and provides workflow documentation. Explains available slash commands and workflow. Keywords slash commands, /specweave:increment, /increment, /specweave:do, /specweave:progress, /specweave:validate, /specweave:done, specweave commands, workflow help, specweave folder.
4
4
  ---
5
5
 
6
- # SpecWeave - Smart Workflow with Auto-Detection
6
+ # SpecWeave - Smart Workflow Documentation
7
7
 
8
- SpecWeave features **PROACTIVE AUTO-DETECTION**!
8
+ SpecWeave provides explicit slash commands for reliable workflow execution.
9
9
 
10
- When working in a SpecWeave-initialized project (.specweave/ directory exists), product descriptions automatically trigger increment planning.
11
-
12
- **Two ways to use SpecWeave**:
13
- 1. ✅ **Auto-detection**: Describe your product → SpecWeave creates increment automatically
14
- 2. ✅ **Explicit commands**: Type `/inc "feature"` → Works as before
10
+ **NOTE**: Auto-detection of product descriptions is handled by the `project-kickstarter` skill. This skill provides command documentation and workflow guidance.
15
11
 
16
12
  ## How SpecWeave Works (v0.1.9)
17
13