outfitter 1.0.2 → 1.0.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.
Files changed (50) hide show
  1. package/README.md +39 -3
  2. package/dist/commands/equip-refactored.js +1 -1
  3. package/dist/commands/equip-refactored.js.map +1 -1
  4. package/dist/commands/fieldguides/add.d.ts.map +1 -1
  5. package/dist/commands/fieldguides/add.js +1 -1
  6. package/dist/commands/fieldguides/add.js.map +1 -1
  7. package/dist/commands/fieldguides/config.d.ts.map +1 -1
  8. package/dist/commands/fieldguides/config.js +6 -3
  9. package/dist/commands/fieldguides/config.js.map +1 -1
  10. package/dist/commands/fieldguides/create.d.ts.map +1 -1
  11. package/dist/commands/fieldguides/create.js +2 -2
  12. package/dist/commands/fieldguides/create.js.map +1 -1
  13. package/dist/commands/fieldguides/list.d.ts.map +1 -1
  14. package/dist/commands/fieldguides/list.js +1 -1
  15. package/dist/commands/fieldguides/list.js.map +1 -1
  16. package/dist/commands/fieldguides.d.ts.map +1 -1
  17. package/dist/commands/fieldguides.js.map +1 -1
  18. package/dist/index.js +5 -2
  19. package/dist/index.js.map +1 -1
  20. package/dist/services/configuration-applier.d.ts +1 -4
  21. package/dist/services/configuration-applier.d.ts.map +1 -1
  22. package/dist/services/configuration-applier.js +89 -32
  23. package/dist/services/configuration-applier.js.map +1 -1
  24. package/dist/utils/detect-terrain.d.ts.map +1 -1
  25. package/dist/utils/detect-terrain.js.map +1 -1
  26. package/package.json +6 -2
  27. package/dist/commands/add.d.ts +0 -3
  28. package/dist/commands/add.d.ts.map +0 -1
  29. package/dist/commands/add.js +0 -49
  30. package/dist/commands/add.js.map +0 -1
  31. package/dist/commands/equip.d.ts +0 -3
  32. package/dist/commands/equip.d.ts.map +0 -1
  33. package/dist/commands/equip.js +0 -232
  34. package/dist/commands/equip.js.map +0 -1
  35. package/dist/commands/init.d.ts +0 -3
  36. package/dist/commands/init.d.ts.map +0 -1
  37. package/dist/commands/init.js +0 -76
  38. package/dist/commands/init.js.map +0 -1
  39. package/dist/commands/list.d.ts +0 -3
  40. package/dist/commands/list.d.ts.map +0 -1
  41. package/dist/commands/list.js +0 -51
  42. package/dist/commands/list.js.map +0 -1
  43. package/dist/commands/pack.d.ts +0 -3
  44. package/dist/commands/pack.d.ts.map +0 -1
  45. package/dist/commands/pack.js +0 -54
  46. package/dist/commands/pack.js.map +0 -1
  47. package/dist/commands/update.d.ts +0 -3
  48. package/dist/commands/update.d.ts.map +0 -1
  49. package/dist/commands/update.js +0 -44
  50. package/dist/commands/update.js.map +0 -1
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
- # outfitter
1
+ # Outfitter
2
2
 
3
3
  > Command-line tool for equipping your development journey with configurations
4
- > and fieldguides
4
+ > and fieldguides.
5
5
 
6
6
  ## Installation
7
7
 
@@ -11,6 +11,8 @@ npm install -g outfitter
11
11
  pnpm add -g outfitter
12
12
  # or
13
13
  yarn global add outfitter
14
+ # or
15
+ brew install outfitter
14
16
  ```
15
17
 
16
18
  ## Quick Start
@@ -18,9 +20,13 @@ yarn global add outfitter
18
20
  ```bash
19
21
  # Initialize a new project with Outfitter configurations
20
22
  outfitter equip
23
+ # or
24
+ outfitter init
21
25
 
22
26
  # Manage fieldguides (documentation & patterns)
23
27
  outfitter fieldguides list
28
+ # or
29
+ outfitter fg list
24
30
  outfitter fieldguides add react-patterns typescript-standards
25
31
 
26
32
  # View help
@@ -66,11 +72,41 @@ outfitter fieldguides create
66
72
  outfitter fieldguides config
67
73
  ```
68
74
 
75
+ ## Terrain Detection
76
+
77
+ Outfitter automatically detects your project's technology stack to provide tailored recommendations and configurations. This "terrain detection" analyzes your project for:
78
+
79
+ ### Detected Frameworks
80
+
81
+ - **Frontend**: Next.js, React, Vue, Svelte, Angular
82
+ - **Build Tools**: Vite, Webpack
83
+ - **Languages**: TypeScript, JavaScript, Python
84
+
85
+ ### Detected Tools
86
+
87
+ - **Testing**: Vitest, Jest, Playwright, Cypress
88
+ - **State Management**: Zustand, Redux, MobX
89
+ - **Package Managers**: pnpm, yarn, npm, bun
90
+ - **CI/CD**: GitHub Actions, GitLab CI
91
+ - **Containerization**: Docker
92
+
93
+ ### Detected Project Types
94
+
95
+ - Monorepo structures (pnpm workspaces, Lerna, Nx, Rush)
96
+ - TypeScript projects
97
+ - Python projects
98
+
99
+ The terrain detection runs automatically when you use commands like `outfitter equip` or `outfitter fieldguides add`, ensuring that:
100
+
101
+ - Recommended configurations match your tech stack
102
+ - Fieldguides are relevant to your frameworks
103
+ - Installation commands use your preferred package manager
104
+
69
105
  ## Configuration
70
106
 
71
107
  Projects initialized with Outfitter have a `.outfitter/` directory containing:
72
108
 
73
- ```
109
+ ```text
74
110
  .outfitter/
75
111
  ├── config.json # Project configuration and installed supplies
76
112
  ├── supplies/ # Local copies of installed supplies
@@ -70,7 +70,7 @@ export const equipCommand = new Command('equip')
70
70
  const hooksSpinner = ui.createSpinner('Setting up git hooks...');
71
71
  hooksSpinner.start();
72
72
  try {
73
- await configApplier.initializeHusky();
73
+ await configApplier.initializeHusky(process.cwd());
74
74
  hooksSpinner.succeed('Git hooks initialized');
75
75
  }
76
76
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"equip-refactored.js","sourceRoot":"","sources":["../../src/commands/equip-refactored.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,cAAc,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,aAAa,MAAM,sCAAsC,CAAC;AACtE,OAAO,KAAK,eAAe,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;KAC7C,KAAK,CAAC,MAAM,CAAC;KACb,WAAW,CAAC,8DAA8D,CAAC;KAC3E,MAAM,CACL,iBAAiB,EACjB,sDAAsD,CACvD;KACA,MAAM,CAAC,WAAW,EAAE,+BAA+B,CAAC;KACpD,MAAM,CAAC,KAAK,EAAE,OAAqB,EAAE,EAAE;IACtC,EAAE,CAAC,WAAW,EAAE,CAAC;IAEjB,yBAAyB;IACzB,MAAM,cAAc,GAAG,EAAE,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC;IACxE,cAAc,CAAC,KAAK,EAAE,CAAC;IACvB,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;IACtC,cAAc,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAEnD,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE/B,qCAAqC;IACrC,MAAM,sBAAsB,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAClE,OAAO,CAAC,0BAA0B,CAAC,sBAAsB,CAAC,CAAC;IAE3D,8BAA8B;IAC9B,IAAI,SAAS,CAAC;IACd,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,SAAS,GAAG,eAAe,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACvB,SAAS,GAAG,eAAe,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,MAAM,eAAe,CAAC,uBAAuB,CACvD,OAAO,EACP,sBAAsB,CACvB,CAAC;IACJ,CAAC;IAED,kCAAkC;IAClC,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,oBAAoB,EAAE,CAAC;IACvD,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAE1B,mBAAmB;IACnB,MAAM,WAAW,GAAG,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/D,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,cAAc,GAAG,EAAE,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;QAClE,cAAc,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,eAAe,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACtD,cAAc,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAClD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,aAAa,GAAG,EAAE,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;QACrE,aAAa,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,aAAa,CAAC,mBAAmB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC3D,aAAa,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YACrD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;QAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;QAElE,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;YACjE,YAAY,CAAC,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,aAAa,CAAC,eAAe,EAAE,CAAC;gBACtC,YAAY,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;YAChD,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;IACH,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"equip-refactored.js","sourceRoot":"","sources":["../../src/commands/equip-refactored.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../src/commands/fieldguides/add.ts"],"names":[],"mappings":"AAOA;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,GACzB,OAAO,CAAC,IAAI,CAAC,CA0Df"}
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../src/commands/fieldguides/add.ts"],"names":[],"mappings":"AAYA;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,GACzB,OAAO,CAAC,IAAI,CAAC,CA0Df"}
@@ -24,7 +24,7 @@ export async function addFieldguides(fieldguides) {
24
24
  const spinner = ora('Adding fieldguides...').start();
25
25
  try {
26
26
  // Read current config
27
- const config = await readJSON(configPath);
27
+ const config = (await readJSON(configPath));
28
28
  // Get existing fieldguides (support old 'supplies' key)
29
29
  const existingFieldguides = Array.isArray(config.fieldguides)
30
30
  ? config.fieldguides
@@ -1 +1 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/commands/fieldguides/add.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,OAAO,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;AAEpD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,WAA0B;IAE1B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;IAE1D,uBAAuB;IACvB,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACpC,MAAM,OAAO,GACX,qEAAqE,CAAC;QACxE,kDAAkD;QAClD,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC;IAErD,IAAI,CAAC;QACH,sBAAsB;QACtB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC;QAE1C,wDAAwD;QACxD,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;YAC3D,CAAC,CAAC,MAAM,CAAC,WAAW;YACpB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC9B,CAAC,CAAC,MAAM,CAAC,QAAQ;gBACjB,CAAC,CAAC,EAAE,CAAC;QAET,4CAA4C;QAC5C,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CACvC,CAAC,CAAC,EAAE,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CACtC,CAAC;QACF,MAAM,CAAC,WAAW,GAAG,CAAC,GAAG,mBAAmB,EAAE,GAAG,cAAc,CAAC,CAAC;QAEjE,mCAAmC;QACnC,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;YACzB,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC9B,CAAC;QAED,4EAA4E;QAC5E,8BAA8B;QAE9B,MAAM,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAEnD,OAAO,CAAC,OAAO,CAAC,SAAS,cAAc,CAAC,MAAM,kBAAkB,CAAC,CAAC;QAElE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1C,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;QAC3D,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CACT,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,OAAO,gCAAgC,CAAC,CACxE,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC1C,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/commands/fieldguides/add.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,OAAO,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;AAOpD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,WAA0B;IAE1B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;IAE1D,uBAAuB;IACvB,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACpC,MAAM,OAAO,GACX,qEAAqE,CAAC;QACxE,kDAAkD;QAClD,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC;IAErD,IAAI,CAAC;QACH,sBAAsB;QACtB,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAoB,CAAC;QAE/D,wDAAwD;QACxD,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;YAC3D,CAAC,CAAC,MAAM,CAAC,WAAW;YACpB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC9B,CAAC,CAAC,MAAM,CAAC,QAAQ;gBACjB,CAAC,CAAC,EAAE,CAAC;QAET,4CAA4C;QAC5C,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CACvC,CAAC,CAAC,EAAE,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CACtC,CAAC;QACF,MAAM,CAAC,WAAW,GAAG,CAAC,GAAG,mBAAmB,EAAE,GAAG,cAAc,CAAC,CAAC;QAEjE,mCAAmC;QACnC,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;YACzB,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC9B,CAAC;QAED,4EAA4E;QAC5E,8BAA8B;QAE9B,MAAM,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAEnD,OAAO,CAAC,OAAO,CAAC,SAAS,cAAc,CAAC,MAAM,kBAAkB,CAAC,CAAC;QAElE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1C,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;QAC3D,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CACT,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,OAAO,gCAAgC,CAAC,CACxE,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC1C,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/commands/fieldguides/config.ts"],"names":[],"mappings":"AAKA,UAAU,aAAa;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAC3B,OAAO,EAAE,aAAa,GAAG,aAAa,GACrC,OAAO,CAAC,IAAI,CAAC,CA8Df"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/commands/fieldguides/config.ts"],"names":[],"mappings":"AAKA,UAAU,aAAa;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AASD;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAC3B,OAAO,EAAE,aAAa,GAAG,aAAa,GACrC,OAAO,CAAC,IAAI,CAAC,CAmEf"}
@@ -23,7 +23,7 @@ export async function manageFieldguideConfig(action, options) {
23
23
  console.error(chalk.red('No fieldguide configuration found. Run "outfitter fg create" first.'));
24
24
  process.exit(1);
25
25
  }
26
- const config = await readJSON(configPath);
26
+ const config = (await readJSON(configPath));
27
27
  const exportConfig = {
28
28
  name: 'Custom Fieldguide Configuration',
29
29
  version: '1.0.0',
@@ -42,7 +42,7 @@ export async function manageFieldguideConfig(action, options) {
42
42
  console.error(chalk.red(`Configuration file not found: ${file}`));
43
43
  process.exit(1);
44
44
  }
45
- const importConfig = await readJSON(importPath);
45
+ const importConfig = (await readJSON(importPath));
46
46
  if (!(importConfig.fieldguides || importConfig.supplies) ||
47
47
  !Array.isArray(importConfig.fieldguides || importConfig.supplies)) {
48
48
  console.error(chalk.red('Invalid configuration format'));
@@ -53,8 +53,11 @@ export async function manageFieldguideConfig(action, options) {
53
53
  console.log(chalk.yellow('Initializing fieldguide configuration...'));
54
54
  // TODO: Create minimal config
55
55
  }
56
+ const fieldguideCount = (importConfig.fieldguides ||
57
+ importConfig.supplies ||
58
+ []).length;
56
59
  console.log(chalk.green('✓') +
57
- ` Imported ${(importConfig.fieldguides || importConfig.supplies).length} fieldguides from ${chalk.cyan(importConfig.name)}`);
60
+ ` Imported ${fieldguideCount} fieldguides from ${chalk.cyan(importConfig.name)}`);
58
61
  }
59
62
  }
60
63
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/commands/fieldguides/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/commands/fieldguides/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/fieldguides/create.ts"],"names":[],"mappings":"AAOA,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAcD;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC,CAmEf"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/fieldguides/create.ts"],"names":[],"mappings":"AAOA,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAkBD;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC,CAmEf"}
@@ -38,7 +38,7 @@ export async function createFieldguideConfig(options) {
38
38
  // Interactive setup if no preset
39
39
  let selectedPreset = options.preset;
40
40
  if (!selectedPreset || !presets[selectedPreset]) {
41
- const answers = await inquirer.prompt([
41
+ const answers = (await inquirer.prompt([
42
42
  {
43
43
  type: 'list',
44
44
  name: 'preset',
@@ -50,7 +50,7 @@ export async function createFieldguideConfig(options) {
50
50
  { name: 'Minimal (TypeScript only)', value: 'minimal' },
51
51
  ],
52
52
  },
53
- ]);
53
+ ]));
54
54
  selectedPreset = answers.preset;
55
55
  }
56
56
  const spinner = ora('Creating fieldguide configuration...').start();
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/fieldguides/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/fieldguides/create.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/fieldguides/list.ts"],"names":[],"mappings":"AAmBA;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiDhB"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/fieldguides/list.ts"],"names":[],"mappings":"AAwBA;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiDhB"}
@@ -28,7 +28,7 @@ export async function listFieldguides(options) {
28
28
  let installedFieldguides = [];
29
29
  try {
30
30
  if (await pathExists(configPath)) {
31
- const config = await readJSON(configPath);
31
+ const config = (await readJSON(configPath));
32
32
  installedFieldguides = config.fieldguides || config.supplies || []; // Support old 'supplies' key for backwards compatibility
33
33
  }
34
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/fieldguides/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/fieldguides/list.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fieldguides.d.ts","sourceRoot":"","sources":["../../src/commands/fieldguides.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,eAAO,MAAM,kBAAkB,SAuD5B,CAAC"}
1
+ {"version":3,"file":"fieldguides.d.ts","sourceRoot":"","sources":["../../src/commands/fieldguides.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC,eAAO,MAAM,kBAAkB,SAuD5B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fieldguides.js","sourceRoot":"","sources":["../../src/commands/fieldguides.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,8CAA8C;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;KACzD,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,uDAAuD,CAAC;KACpE,UAAU,CACT,IAAI,OAAO,CAAC,QAAQ,CAAC;KAClB,WAAW,CAAC,wDAAwD,CAAC;KACrE,MAAM,CAAC,uBAAuB,EAAE,4BAA4B,EAAE,SAAS,CAAC;KACxE,MAAM,CAAC,eAAe,EAAE,qCAAqC,CAAC;KAC9D,MAAM,CAAC,aAAa,EAAE,gDAAgD,CAAC;KACvE,MAAM,CAAC,sBAAsB,CAAC,CAClC;KACA,UAAU,CACT,IAAI,OAAO,CAAC,KAAK,CAAC;KACf,WAAW,CAAC,iCAAiC,CAAC;KAC9C,QAAQ,CACP,kBAAkB,EAClB,gEAAgE,CACjE;KACA,MAAM,CAAC,cAAc,CAAC,CAC1B;KACA,UAAU,CACT,IAAI,OAAO,CAAC,MAAM,CAAC;KAChB,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,iBAAiB,EAAE,iCAAiC,CAAC;KAC5D,MAAM,CAAC,eAAe,CAAC,CAC3B;KACA,UAAU,CACT,IAAI,OAAO,CAAC,QAAQ,CAAC;KAClB,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,aAAa,EAAE,sCAAsC,CAAC;KAC7D,MAAM,CAAC,iBAAiB,CAAC,CAC7B;KACA,UAAU,CACT,IAAI,OAAO,CAAC,QAAQ,CAAC;KAClB,WAAW,CAAC,kCAAkC,CAAC;KAC/C,UAAU,CACT,IAAI,OAAO,CAAC,QAAQ,CAAC;KAClB,WAAW,CAAC,8BAA8B,CAAC;KAC3C,MAAM,CACL,qBAAqB,EACrB,aAAa,EACb,wBAAwB,CACzB;KACA,MAAM,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;IACtB,MAAM,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC,CAAC,CACL;KACA,UAAU,CACT,IAAI,OAAO,CAAC,QAAQ,CAAC;KAClB,WAAW,CAAC,wBAAwB,CAAC;KACrC,QAAQ,CAAC,QAAQ,EAAE,8BAA8B,CAAC;KAClD,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;IAC7B,MAAM,sBAAsB,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC,CAAC,CACL,CACJ,CAAC"}
1
+ {"version":3,"file":"fieldguides.js","sourceRoot":"","sources":["../../src/commands/fieldguides.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,8CAA8C;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAUjE,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;KACzD,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,uDAAuD,CAAC;KACpE,UAAU,CACT,IAAI,OAAO,CAAC,QAAQ,CAAC;KAClB,WAAW,CAAC,wDAAwD,CAAC;KACrE,MAAM,CAAC,uBAAuB,EAAE,4BAA4B,EAAE,SAAS,CAAC;KACxE,MAAM,CAAC,eAAe,EAAE,qCAAqC,CAAC;KAC9D,MAAM,CAAC,aAAa,EAAE,gDAAgD,CAAC;KACvE,MAAM,CAAC,sBAAsB,CAAC,CAClC;KACA,UAAU,CACT,IAAI,OAAO,CAAC,KAAK,CAAC;KACf,WAAW,CAAC,iCAAiC,CAAC;KAC9C,QAAQ,CACP,kBAAkB,EAClB,gEAAgE,CACjE;KACA,MAAM,CAAC,cAAc,CAAC,CAC1B;KACA,UAAU,CACT,IAAI,OAAO,CAAC,MAAM,CAAC;KAChB,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,iBAAiB,EAAE,iCAAiC,CAAC;KAC5D,MAAM,CAAC,eAAe,CAAC,CAC3B;KACA,UAAU,CACT,IAAI,OAAO,CAAC,QAAQ,CAAC;KAClB,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,aAAa,EAAE,sCAAsC,CAAC;KAC7D,MAAM,CAAC,iBAAiB,CAAC,CAC7B;KACA,UAAU,CACT,IAAI,OAAO,CAAC,QAAQ,CAAC;KAClB,WAAW,CAAC,kCAAkC,CAAC;KAC/C,UAAU,CACT,IAAI,OAAO,CAAC,QAAQ,CAAC;KAClB,WAAW,CAAC,8BAA8B,CAAC;KAC3C,MAAM,CACL,qBAAqB,EACrB,aAAa,EACb,wBAAwB,CACzB;KACA,MAAM,CAAC,KAAK,EAAE,OAAsB,EAAE,EAAE;IACvC,MAAM,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC,CAAC,CACL;KACA,UAAU,CACT,IAAI,OAAO,CAAC,QAAQ,CAAC;KAClB,WAAW,CAAC,wBAAwB,CAAC;KACrC,QAAQ,CAAC,QAAQ,EAAE,8BAA8B,CAAC;KAClD,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;IAC7B,MAAM,sBAAsB,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAmB,CAAC,CAAC;AACpE,CAAC,CAAC,CACL,CACJ,CAAC"}
package/dist/index.js CHANGED
@@ -17,10 +17,13 @@ try {
17
17
  await program.parseAsync(process.argv);
18
18
  }
19
19
  catch (error) {
20
- if (error.code === 'commander.help') {
20
+ if (error instanceof Error &&
21
+ 'code' in error &&
22
+ error.code === 'commander.help') {
21
23
  process.exit(0);
22
24
  }
23
- console.error(chalk.red('Error:'), error.message);
25
+ const message = error instanceof Error ? error.message : 'An unexpected error occurred';
26
+ console.error(chalk.red('Error:'), message);
24
27
  process.exit(1);
25
28
  }
26
29
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CACV,qFAAqF,CACtF;KACA,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,eAAe;AACf,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;AAEvC,iBAAiB;AACjB,OAAO,CAAC,YAAY,EAAE,CAAC;AAEvB,IAAI,CAAC;IACH,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAAC,OAAO,KAAU,EAAE,CAAC;IACpB,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CACV,qFAAqF,CACtF;KACA,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,eAAe;AACf,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;AAEvC,iBAAiB;AACjB,OAAO,CAAC,YAAY,EAAE,CAAC;AAEvB,IAAI,CAAC;IACH,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAAC,OAAO,KAAc,EAAE,CAAC;IACxB,IACE,KAAK,YAAY,KAAK;QACtB,MAAM,IAAI,KAAK;QACf,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAC/B,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,OAAO,GACX,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC;IAC1E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
@@ -1,9 +1,6 @@
1
1
  export declare function applyConfigurations(configs: Array<string>): Promise<void>;
2
2
  /**
3
3
  * Initializes Husky by running the installation command to set up Git hooks.
4
- *
5
- * @remark
6
- * This function executes `npx husky install` and inherits standard input/output streams for direct console interaction.
7
4
  */
8
- export declare function initializeHusky(): Promise<void>;
5
+ export declare function initializeHusky(cwd: string): Promise<void>;
9
6
  //# sourceMappingURL=configuration-applier.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"configuration-applier.d.ts","sourceRoot":"","sources":["../../src/services/configuration-applier.ts"],"names":[],"mappings":"AAGA,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,GACrB,OAAO,CAAC,IAAI,CAAC,CAkCf;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAIrD"}
1
+ {"version":3,"file":"configuration-applier.d.ts","sourceRoot":"","sources":["../../src/services/configuration-applier.ts"],"names":[],"mappings":"AAOA,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,GACrB,OAAO,CAAC,IAAI,CAAC,CA4Bf;AA2ED;;GAEG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUhE"}
@@ -1,45 +1,102 @@
1
1
  import chalk from 'chalk';
2
2
  import { execa } from 'execa';
3
+ import fsExtra from 'fs-extra';
4
+ import { join } from 'path';
5
+ const { writeFile, pathExists, writeJSON } = fsExtra;
3
6
  export async function applyConfigurations(configs) {
4
- // TODO: Implement actual configuration application
5
- // For each config package, we need to:
6
- // 1. Check if it has an init function or CLI
7
- // 2. Copy default config files if needed
8
- // 3. Update package.json scripts if needed
9
7
  console.log(chalk.gray('Applying configurations...'));
10
- // Placeholder for now
8
+ const cwd = process.cwd();
9
+ const handlers = {
10
+ '@outfitter/eslint-config': createEslintConfig,
11
+ '@outfitter/typescript-config': createTsconfigJson,
12
+ '@outfitter/prettier-config': createPrettierConfig,
13
+ '@outfitter/husky-config': initializeHusky,
14
+ '@outfitter/changeset-config': initializeChangesets,
15
+ };
11
16
  for (const config of configs) {
12
- switch (config) {
13
- case '@outfitter/eslint-config':
14
- // TODO: Create .eslintrc.js
15
- break;
16
- case '@outfitter/typescript-config':
17
- // TODO: Create/update tsconfig.json
18
- break;
19
- case '@outfitter/prettier-config':
20
- // TODO: Create .prettierrc
21
- break;
22
- case '@outfitter/husky-config':
23
- // Will be handled separately by initializeHusky
24
- break;
25
- case '@outfitter/changeset-config':
26
- // TODO: Run changeset init
27
- break;
28
- default:
29
- console.warn(chalk.yellow(`⚠ Unknown configuration package: ${config}`));
30
- break;
17
+ const handler = handlers[config];
18
+ if (!handler) {
19
+ console.warn(chalk.yellow(`⚠ Unknown configuration package: ${config}`));
20
+ continue;
31
21
  }
22
+ try {
23
+ await handler(cwd);
24
+ }
25
+ catch (error) {
26
+ console.error(chalk.red(` ✗ Failed to apply ${config}:`), error.message);
27
+ }
28
+ }
29
+ }
30
+ async function createEslintConfig(cwd) {
31
+ const configPath = join(cwd, 'eslint.config.mjs');
32
+ if (await pathExists(configPath)) {
33
+ console.log(chalk.gray(' ✓ ESLint config already exists'));
34
+ return;
35
+ }
36
+ const config = `export { default } from '@outfitter/eslint-config';
37
+ `;
38
+ await writeFile(configPath, config, 'utf8');
39
+ console.log(chalk.green(' ✓ Created eslint.config.mjs'));
40
+ }
41
+ async function createTsconfigJson(cwd) {
42
+ const configPath = join(cwd, 'tsconfig.json');
43
+ if (await pathExists(configPath)) {
44
+ console.log(chalk.gray(' ✓ TypeScript config already exists'));
45
+ return;
46
+ }
47
+ const config = {
48
+ extends: '@outfitter/typescript-config/base',
49
+ compilerOptions: {
50
+ outDir: './dist',
51
+ rootDir: './src',
52
+ },
53
+ include: ['src/**/*'],
54
+ exclude: ['node_modules', 'dist'],
55
+ };
56
+ await writeJSON(configPath, config, { spaces: 2 });
57
+ console.log(chalk.green(' ✓ Created tsconfig.json'));
58
+ }
59
+ async function createPrettierConfig(cwd) {
60
+ const configPath = join(cwd, 'prettier.config.cjs');
61
+ if (await pathExists(configPath)) {
62
+ console.log(chalk.gray(' ✓ Prettier config already exists'));
63
+ return;
64
+ }
65
+ const config = `module.exports = require('@outfitter/prettier-config');
66
+ `;
67
+ await writeFile(configPath, config, 'utf8');
68
+ console.log(chalk.green(' ✓ Created prettier.config.cjs'));
69
+ }
70
+ async function initializeChangesets(cwd) {
71
+ const changesetDir = join(cwd, '.changeset');
72
+ if (await pathExists(changesetDir)) {
73
+ console.log(chalk.gray(' ✓ Changesets already initialized'));
74
+ return;
75
+ }
76
+ try {
77
+ await execa('npx', ['@changesets/cli', 'init'], {
78
+ cwd,
79
+ stdio: 'inherit',
80
+ });
81
+ console.log(chalk.green(' ✓ Initialized changesets'));
82
+ }
83
+ catch (error) {
84
+ throw new Error(`Failed to initialize changesets: ${error.message}`);
32
85
  }
33
86
  }
34
87
  /**
35
88
  * Initializes Husky by running the installation command to set up Git hooks.
36
- *
37
- * @remark
38
- * This function executes `npx husky install` and inherits standard input/output streams for direct console interaction.
39
89
  */
40
- export async function initializeHusky() {
41
- // TODO: Actually initialize husky
42
- // This would typically run husky install and set up hooks
43
- await execa('husky', ['install'], { stdio: 'inherit' });
90
+ export async function initializeHusky(cwd) {
91
+ try {
92
+ await execa('npx', ['husky', 'init'], {
93
+ cwd,
94
+ stdio: 'inherit',
95
+ });
96
+ console.log(chalk.green(' ✓ Initialized Husky'));
97
+ }
98
+ catch (error) {
99
+ throw new Error(`Failed to initialize Husky: ${error.message}`);
100
+ }
44
101
  }
45
102
  //# sourceMappingURL=configuration-applier.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configuration-applier.js","sourceRoot":"","sources":["../../src/services/configuration-applier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAsB;IAEtB,mDAAmD;IACnD,uCAAuC;IACvC,6CAA6C;IAC7C,yCAAyC;IACzC,2CAA2C;IAE3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAEtD,sBAAsB;IACtB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,0BAA0B;gBAC7B,4BAA4B;gBAC5B,MAAM;YACR,KAAK,8BAA8B;gBACjC,oCAAoC;gBACpC,MAAM;YACR,KAAK,4BAA4B;gBAC/B,2BAA2B;gBAC3B,MAAM;YACR,KAAK,yBAAyB;gBAC5B,gDAAgD;gBAChD,MAAM;YACR,KAAK,6BAA6B;gBAChC,2BAA2B;gBAC3B,MAAM;YACR;gBACE,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,MAAM,CAAC,oCAAoC,MAAM,EAAE,CAAC,CAC3D,CAAC;gBACF,MAAM;QACV,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,kCAAkC;IAClC,0DAA0D;IAC1D,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"configuration-applier.js","sourceRoot":"","sources":["../../src/services/configuration-applier.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"detect-terrain.d.ts","sourceRoot":"","sources":["../../src/utils/detect-terrain.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAE9B,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IAGjB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAGhB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IAGjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IAGd,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IAGjB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAGlB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;CACd;AA8CD;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,eAAe,CAAC,CAyI1B;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,CAkCzE"}
1
+ {"version":3,"file":"detect-terrain.d.ts","sourceRoot":"","sources":["../../src/utils/detect-terrain.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,eAAe;IAE9B,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IAGjB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAGhB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IAGjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IAGd,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IAGjB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAGlB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;CACd;AAgDD;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,eAAe,CAAC,CAyI1B;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,CAkCzE"}
@@ -1 +1 @@
1
- {"version":3,"file":"detect-terrain.js","sourceRoot":"","sources":["../../src/utils/detect-terrain.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,UAAU,CAAC;AAC/B,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AA4C5B;;;;;;;;GAQG;AACH,KAAK,UAAU,UAAU,CACvB,WAAmB,EACnB,MAAc,OAAO,CAAC,GAAG,EAAE;IAE3B,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAClD,IAAI,MAAM,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACtC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;YACzE,MAAM,IAAI,GAAG;gBACX,GAAG,CAAC,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC;gBACnC,GAAG,CAAC,WAAW,CAAC,eAAe,IAAI,EAAE,CAAC;gBACtC,GAAG,CAAC,WAAW,CAAC,gBAAgB,IAAI,EAAE,CAAC;aACxC,CAAC;YACF,OAAO,WAAW,IAAI,IAAI,CAAC;QAC7B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,gBAAgB;IAClB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,UAAU,CACvB,QAAgB,EAChB,MAAc,OAAO,CAAC,GAAG,EAAE;IAE3B,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAc,OAAO,CAAC,GAAG,EAAE;IAE3B,oDAAoD;IACpD,MAAM;IACJ,kBAAkB;IAClB,YAAY,EACZ,aAAa,EACb,YAAY;IACZ,gBAAgB;IAChB,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,OAAO,EACP,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,aAAa,EACb,SAAS,EACT,MAAM,EACN,QAAQ,EACR,UAAU,EACV,aAAa,EACb,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,OAAO;IACP,WAAW;IACX,OAAO,EACP,QAAQ,EACR,MAAM,EACN,SAAS,EACT,UAAU,EACV,SAAS,EACT,OAAO,EACP,aAAa,EACb,UAAU,EACV,UAAU,EACV,QAAQ,EACR,eAAe,EACf,OAAO,EACP,OAAO,EACP,UAAU,EACX,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpB,kBAAkB;QAClB,UAAU,CAAC,gBAAgB,EAAE,GAAG,CAAC;QACjC,UAAU,CAAC,iBAAiB,EAAE,GAAG,CAAC;QAClC,UAAU,CAAC,gBAAgB,EAAE,GAAG,CAAC;QACjC,gBAAgB;QAChB,UAAU,CAAC,eAAe,EAAE,GAAG,CAAC;QAChC,UAAU,CAAC,cAAc,EAAE,GAAG,CAAC;QAC/B,UAAU,CAAC,kBAAkB,EAAE,GAAG,CAAC;QACnC,UAAU,CAAC,gBAAgB,EAAE,GAAG,CAAC;QACjC,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC;QAC1B,UAAU,CAAC,kBAAkB,EAAE,GAAG,CAAC;QACnC,UAAU,CAAC,gBAAgB,EAAE,GAAG,CAAC;QACjC,UAAU,CAAC,sBAAsB,EAAE,GAAG,CAAC;QACvC,UAAU,CAAC,mBAAmB,EAAE,GAAG,CAAC;QACpC,UAAU,CAAC,gBAAgB,EAAE,GAAG,CAAC;QACjC,UAAU,CAAC,mBAAmB,EAAE,GAAG,CAAC;QACpC,UAAU,CAAC,qBAAqB,EAAE,GAAG,CAAC;QACtC,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC;QAC7B,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC;QAC1B,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC;QAC5B,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC;QAC7B,UAAU,CAAC,oBAAoB,EAAE,GAAG,CAAC;QACrC,UAAU,CAAC,mBAAmB,EAAE,GAAG,CAAC;QACpC,UAAU,CAAC,gBAAgB,EAAE,GAAG,CAAC;QACjC,UAAU,CAAC,gBAAgB,EAAE,GAAG,CAAC;QACjC,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC;QAC5B,UAAU,CAAC,mBAAmB,EAAE,GAAG,CAAC;QACpC,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC;QAC5B,WAAW;QACX,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC;QACvB,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC;QACxB,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC;QACtB,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC;QACzB,UAAU,CAAC,eAAe,EAAE,GAAG,CAAC;QAChC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC;QACzB,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC;QACvB,UAAU,CAAC,kBAAkB,EAAE,GAAG,CAAC;QACnC,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC;QAC1B,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC;QAC1B,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC;QACxB,UAAU,CAAC,kBAAkB,EAAE,GAAG,CAAC;QACnC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC;QACvB,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC;QACvB,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC;KAC3B,CAAC,CAAC;IAEH,MAAM,OAAO,GAAoB;QAC/B,aAAa;QACb,MAAM,EAAE,YAAY,IAAI,aAAa,IAAI,YAAY,IAAI,OAAO;QAChE,KAAK,EAAE,QAAQ;QACf,GAAG,EAAE,MAAM;QACX,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,UAAU;QAEnB,oBAAoB;QACpB,UAAU,EAAE,cAAc;QAC1B,UAAU,EAAE,iBAAiB;QAC7B,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,eAAe,IAAI,aAAa,IAAI,OAAO;QAEnD,UAAU;QACV,MAAM,EAAE,SAAS,IAAI,cAAc;QACnC,IAAI,EAAE,OAAO,IAAI,YAAY;QAC7B,UAAU,EAAE,aAAa,IAAI,kBAAkB;QAC/C,OAAO,EAAE,UAAU,IAAI,eAAe;QAEtC,mBAAmB;QACnB,OAAO,EAAE,UAAU;QACnB,KAAK,EAAE,QAAQ,IAAI,eAAe;QAClC,IAAI,EAAE,OAAO;QAEb,cAAc;QACd,IAAI,EAAE,OAAO,IAAI,YAAY;QAC7B,OAAO,EAAE,UAAU,IAAI,eAAe;QAEtC,WAAW;QACX,QAAQ,EAAE,aAAa,IAAI,SAAS,IAAI,MAAM,IAAI,QAAQ;QAC1D,MAAM,EAAE,UAAU,IAAI,aAAa;QACnC,aAAa,EAAE,eAAe;QAC9B,QAAQ,EAAE,QAAQ;QAElB,kBAAkB;QAClB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,WAAW;QAChB,GAAG,EAAE,OAAO;KACb,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAwB;IACxD,MAAM,QAAQ,GAAkB,EAAE,CAAC;IAEnC,oBAAoB;IACpB,IAAI,OAAO,CAAC,MAAM;QAAE,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;SACpD,IAAI,OAAO,CAAC,KAAK;QAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;SACtD,IAAI,OAAO,CAAC,GAAG;QAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SAClD,IAAI,OAAO,CAAC,MAAM;QAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;SACxD,IAAI,OAAO,CAAC,OAAO;QAAE,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAE/D,WAAW;IACX,IAAI,OAAO,CAAC,UAAU;QAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACpD,IAAI,OAAO,CAAC,MAAM;QAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE5C,UAAU;IACV,IAAI,OAAO,CAAC,MAAM;QAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SAC/C,IAAI,OAAO,CAAC,IAAI;QAAE,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACrD,IAAI,OAAO,CAAC,UAAU;QAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SACnD,IAAI,OAAO,CAAC,OAAO;QAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAEvD,mBAAmB;IACnB,IAAI,OAAO,CAAC,OAAO;QAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SAC/C,IAAI,OAAO,CAAC,KAAK;QAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAChD,IAAI,OAAO,CAAC,IAAI;QAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAEnD,cAAc;IACd,IAAI,OAAO,CAAC,IAAI;QAAE,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SAC3C,IAAI,OAAO,CAAC,OAAO;QAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAE3D,mBAAmB;IACnB,IAAI,OAAO,CAAC,QAAQ;QAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC1D,IAAI,OAAO,CAAC,MAAM;QAAE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAEtD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"detect-terrain.js","sourceRoot":"","sources":["../../src/utils/detect-terrain.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "outfitter",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "Command-line tool for equipping your development journey with configurations and fieldguides",
5
5
  "type": "module",
6
6
  "bin": {
@@ -13,6 +13,7 @@
13
13
  "scripts": {
14
14
  "build": "tsc",
15
15
  "dev": "tsx src/index.ts",
16
+ "lint": "eslint .",
16
17
  "prepare": "npm run build",
17
18
  "test": "vitest",
18
19
  "type-check": "tsc --noEmit"
@@ -56,5 +57,8 @@
56
57
  "bugs": {
57
58
  "url": "https://github.com/outfitter-dev/monorepo/issues"
58
59
  },
59
- "homepage": "https://github.com/outfitter-dev/monorepo/tree/main/packages/cli#readme"
60
+ "homepage": "https://github.com/outfitter-dev/monorepo/tree/main/packages/cli#readme",
61
+ "publishConfig": {
62
+ "access": "public"
63
+ }
60
64
  }
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const addCommand: Command;
3
- //# sourceMappingURL=add.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,eAAO,MAAM,UAAU,SA6DnB,CAAC"}
@@ -1,49 +0,0 @@
1
- import { Command } from 'commander';
2
- import chalk from 'chalk';
3
- import ora from 'ora';
4
- import { readJSON, writeJSON, pathExists } from 'fs-extra';
5
- import { join } from 'path';
6
- export const addCommand = new Command('add')
7
- .description('Add specific fieldguides to your project')
8
- .argument('<fieldguides...>', 'Fieldguides to add (e.g., react-patterns typescript-standards)')
9
- .action(async (fieldguides) => {
10
- const cwd = process.cwd();
11
- const configPath = join(cwd, '.outfitter', 'config.json');
12
- // Check if initialized
13
- if (!(await pathExists(configPath))) {
14
- console.error(chalk.red('Project not initialized. Run "outfitter init" first.'));
15
- process.exit(1);
16
- }
17
- const spinner = ora('Adding fieldguides...').start();
18
- try {
19
- // Read current config
20
- const config = await readJSON(configPath);
21
- // Get existing fieldguides (support old 'supplies' key)
22
- const existingFieldguides = config.fieldguides || config.supplies || [];
23
- // Add new fieldguides (avoiding duplicates)
24
- const newFieldguides = fieldguides.filter(f => !existingFieldguides.includes(f));
25
- config.fieldguides = [...existingFieldguides, ...newFieldguides];
26
- // Remove old supplies key if it exists
27
- if (config.supplies) {
28
- delete config.supplies;
29
- }
30
- // TODO: In real implementation, fetch actual files from fieldguides package
31
- // For now, just update config
32
- await writeJSON(configPath, config, { spaces: 2 });
33
- spinner.succeed(`Added ${newFieldguides.length} new fieldguides`);
34
- if (newFieldguides.length > 0) {
35
- console.log('\n' + chalk.green('Added:'));
36
- newFieldguides.forEach(f => console.log(' • ' + f));
37
- }
38
- const skipped = fieldguides.length - newFieldguides.length;
39
- if (skipped > 0) {
40
- console.log('\n' +
41
- chalk.yellow(`Skipped ${skipped} already installed fieldguides`));
42
- }
43
- }
44
- catch (error) {
45
- spinner.fail('Failed to add fieldguides');
46
- throw error;
47
- }
48
- });
49
- //# sourceMappingURL=add.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC;KACzC,WAAW,CAAC,0CAA0C,CAAC;KACvD,QAAQ,CACP,kBAAkB,EAClB,gEAAgE,CACjE;KACA,MAAM,CAAC,KAAK,EAAE,WAA0B,EAAE,EAAE;IAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;IAE1D,uBAAuB;IACvB,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAClE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC;IAErD,IAAI,CAAC;QACH,sBAAsB;QACtB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC;QAE1C,wDAAwD;QACxD,MAAM,mBAAmB,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;QAExE,4CAA4C;QAC5C,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CACvC,CAAC,CAAC,EAAE,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CACtC,CAAC;QACF,MAAM,CAAC,WAAW,GAAG,CAAC,GAAG,mBAAmB,EAAE,GAAG,cAAc,CAAC,CAAC;QAEjE,uCAAuC;QACvC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO,MAAM,CAAC,QAAQ,CAAC;QACzB,CAAC;QAED,4EAA4E;QAC5E,8BAA8B;QAE9B,MAAM,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAEnD,OAAO,CAAC,OAAO,CAAC,SAAS,cAAc,CAAC,MAAM,kBAAkB,CAAC,CAAC;QAElE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1C,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;QAC3D,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CACT,IAAI;gBACF,KAAK,CAAC,MAAM,CAAC,WAAW,OAAO,gCAAgC,CAAC,CACnE,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC1C,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const equipCommand: Command;
3
- //# sourceMappingURL=equip.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"equip.d.ts","sourceRoot":"","sources":["../../src/commands/equip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyHpC,eAAO,MAAM,YAAY,SAoLrB,CAAC"}
@@ -1,232 +0,0 @@
1
- import { Command } from 'commander';
2
- import { checkbox, confirm } from '@inquirer/prompts';
3
- import chalk from 'chalk';
4
- import ora from 'ora';
5
- import { execa } from 'execa';
6
- import fsExtra from 'fs-extra';
7
- const { pathExistsSync } = fsExtra;
8
- import { join, dirname } from 'path';
9
- import { detectTerrain, getTerrainSummary } from '../utils/detect-terrain.js';
10
- import { getRecommendedFieldguides, getRecommendedFieldguideIds, } from '../config/fieldguide-mappings.js';
11
- import { CONFIG_PACKAGES, UTILITY_PACKAGES } from '../constants/packages.js';
12
- import { getPresetSelection } from '../services/package-selector.js';
13
- /**
14
- * Finds the project root by walking up from the given directory until a package.json is found.
15
- *
16
- * @param startDir - The directory to start searching from. Defaults to process.cwd().
17
- * @returns The directory containing package.json, or null if not found.
18
- */
19
- function findProjectRoot(startDir = process.cwd()) {
20
- let currentDir = startDir;
21
- while (currentDir !== dirname(currentDir)) {
22
- if (pathExistsSync(join(currentDir, 'package.json'))) {
23
- return currentDir;
24
- }
25
- currentDir = dirname(currentDir);
26
- }
27
- return null;
28
- }
29
- /**
30
- * Detects the package manager used in the current project by checking for known lock files.
31
- *
32
- * @returns The detected package manager: 'pnpm', 'yarn', 'bun', or 'npm'. Defaults to 'npm' if no lock file is found.
33
- */
34
- function detectPackageManager() {
35
- const projectRoot = findProjectRoot();
36
- if (!projectRoot) {
37
- return 'npm';
38
- }
39
- // Check for lock files in the project root
40
- if (pathExistsSync(join(projectRoot, 'pnpm-lock.yaml')))
41
- return 'pnpm';
42
- if (pathExistsSync(join(projectRoot, 'yarn.lock')))
43
- return 'yarn';
44
- if (pathExistsSync(join(projectRoot, 'bun.lockb')))
45
- return 'bun';
46
- if (pathExistsSync(join(projectRoot, 'package-lock.json')))
47
- return 'npm';
48
- return 'npm';
49
- }
50
- const DEV_FLAGS = {
51
- npm: '--save-dev',
52
- pnpm: '-D',
53
- yarn: '-D',
54
- bun: '--dev',
55
- };
56
- async function installPackages(packages, packageManager, isDev = true) {
57
- const installCmd = packageManager === 'npm' ? 'install' : 'add';
58
- const args = isDev
59
- ? [installCmd, DEV_FLAGS[packageManager], ...packages]
60
- : [installCmd, ...packages];
61
- await execa(packageManager, args, {
62
- stdio: 'inherit',
63
- });
64
- }
65
- async function applyConfigurations(selectedConfigs) {
66
- // TODO: Apply configuration files based on selected packages
67
- console.log(chalk.yellow('\n⚠️ Configuration file generation coming soon'));
68
- console.log(chalk.gray(' For now, please configure packages manually:'));
69
- if (selectedConfigs.includes('@outfitter/eslint-config')) {
70
- console.log(chalk.gray(' • ESLint: Create .eslintrc.js extending @outfitter/eslint-config'));
71
- }
72
- if (selectedConfigs.includes('@outfitter/typescript-config')) {
73
- console.log(chalk.gray(' • TypeScript: Update tsconfig.json to extend from @outfitter/typescript-config'));
74
- }
75
- if (selectedConfigs.includes('@outfitter/prettier-config')) {
76
- console.log(chalk.gray(' • Prettier: Add "prettier": "@outfitter/prettier-config" to package.json'));
77
- }
78
- }
79
- export const equipCommand = new Command('equip')
80
- .alias('init')
81
- .description('Interactively install Outfitter configurations and utilities')
82
- .option('--preset <type>', 'Use a preset configuration (minimal, standard, full)')
83
- .option('-y, --yes', 'Skip prompts and use defaults')
84
- .action(async (options) => {
85
- console.log(chalk.cyan("🎒 Welcome to Outfitter! Let's equip your project.\n"));
86
- // Detect project terrain
87
- const terrainSpinner = ora('Analyzing project terrain...').start();
88
- let terrain;
89
- let terrainSummary = [];
90
- try {
91
- terrain = await detectTerrain();
92
- terrainSummary = getTerrainSummary(terrain);
93
- terrainSpinner.succeed('Project terrain analyzed');
94
- }
95
- catch (err) {
96
- terrainSpinner.fail('Failed to analyze project terrain');
97
- throw err;
98
- }
99
- if (terrainSummary.length > 0) {
100
- console.log(chalk.cyan('\n🗻 Detected terrain:'));
101
- terrainSummary.forEach(feature => {
102
- console.log(` • ${feature}`);
103
- });
104
- }
105
- // Get recommended fieldguides based on terrain
106
- const recommendedFieldguides = getRecommendedFieldguides(terrain);
107
- let selection;
108
- if (options.preset) {
109
- // Use preset configuration
110
- selection = getPresetSelection(options.preset);
111
- }
112
- else if (options.yes) {
113
- // Use defaults
114
- selection = {
115
- configs: CONFIG_PACKAGES.filter(p => p.selected).map(p => p.value),
116
- utils: UTILITY_PACKAGES.filter(p => p.selected).map(p => p.value),
117
- fieldguides: getRecommendedFieldguideIds(terrain),
118
- };
119
- }
120
- else {
121
- // Interactive selection
122
- console.log('');
123
- const selectedConfigs = await checkbox({
124
- message: 'Select configurations to install:',
125
- choices: CONFIG_PACKAGES.map(pkg => ({
126
- name: pkg.name,
127
- value: pkg.value,
128
- checked: pkg.selected,
129
- })),
130
- });
131
- const selectedUtils = await checkbox({
132
- message: 'Select utility packages:',
133
- choices: UTILITY_PACKAGES.map(pkg => ({
134
- name: pkg.name,
135
- value: pkg.value,
136
- checked: pkg.selected,
137
- })),
138
- });
139
- // Show recommended fieldguides
140
- let selectedFieldguides = [];
141
- if (recommendedFieldguides.length > 0) {
142
- console.log(chalk.cyan('\n📚 Recommended fieldguides for your terrain:'));
143
- recommendedFieldguides.forEach(fg => {
144
- const icon = fg.priority === 'essential'
145
- ? '⭐'
146
- : fg.priority === 'recommended'
147
- ? '👍'
148
- : '📖';
149
- console.log(` ${icon} ${fg.name} - ${fg.description}`);
150
- });
151
- const includeFieldguides = await confirm({
152
- message: 'Would you like to include these recommended fieldguides?',
153
- default: true,
154
- });
155
- if (includeFieldguides) {
156
- selectedFieldguides = getRecommendedFieldguideIds(terrain);
157
- }
158
- }
159
- selection = {
160
- configs: selectedConfigs,
161
- utils: selectedUtils,
162
- fieldguides: selectedFieldguides,
163
- };
164
- }
165
- // Detect package manager
166
- const packageManager = detectPackageManager();
167
- console.log(chalk.gray(`\n📦 Using ${packageManager}`));
168
- // Install packages
169
- const configPackages = selection.configs;
170
- const utilityPackages = selection.utils;
171
- if (configPackages.length > 0 || utilityPackages.length > 0) {
172
- const installSpinner = ora('Installing packages...').start();
173
- try {
174
- // Combine installations to reduce lockfile churn
175
- const installations = [];
176
- if (configPackages.length > 0) {
177
- installations.push([configPackages, true]);
178
- }
179
- if (utilityPackages.length > 0) {
180
- installations.push([utilityPackages, false]);
181
- }
182
- for (const [packages, isDev] of installations) {
183
- await installPackages(packages, packageManager, isDev);
184
- }
185
- installSpinner.succeed('Packages installed');
186
- }
187
- catch (error) {
188
- installSpinner.fail('Failed to install packages');
189
- throw error;
190
- }
191
- }
192
- // Apply configurations
193
- if (selection.configs.length > 0) {
194
- const configSpinner = ora('Applying configurations...').start();
195
- try {
196
- await applyConfigurations(selection.configs);
197
- configSpinner.succeed('Configurations applied');
198
- }
199
- catch (error) {
200
- configSpinner.fail('Failed to apply configurations');
201
- throw error;
202
- }
203
- }
204
- // Initialize git hooks if husky was selected
205
- if (selection.configs.includes('@outfitter/husky-config')) {
206
- const gitHooks = await confirm({
207
- message: 'Initialize git hooks?',
208
- default: true,
209
- });
210
- if (gitHooks) {
211
- const hooksSpinner = ora('Setting up git hooks...').start();
212
- try {
213
- await execa('npx', ['husky-init', '--yes'], { stdio: 'inherit' });
214
- await execa(packageManager, ['install'], { stdio: 'inherit' });
215
- hooksSpinner.succeed('Git hooks initialized');
216
- }
217
- catch (error) {
218
- hooksSpinner.fail('Failed to initialize git hooks');
219
- throw error;
220
- }
221
- }
222
- }
223
- console.log(chalk.green('\n🎉 Your project is now equipped with Outfitter!\n'));
224
- // Show next steps
225
- console.log(chalk.cyan('Next steps:'));
226
- console.log(` • Run '${packageManager} run lint' to check your code`);
227
- console.log(` • Check README.md for usage instructions`);
228
- if (selection.fieldguides.length > 0) {
229
- console.log(` • Explore fieldguides with 'outfitter fieldguides list'`);
230
- }
231
- });
232
- //# sourceMappingURL=equip.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"equip.js","sourceRoot":"","sources":["../../src/commands/equip.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const initCommand: Command;
3
- //# sourceMappingURL=init.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyBpC,eAAO,MAAM,WAAW,SAsEpB,CAAC"}
@@ -1,76 +0,0 @@
1
- import { Command } from 'commander';
2
- import inquirer from 'inquirer';
3
- import chalk from 'chalk';
4
- import ora from 'ora';
5
- import { ensureDir, writeJSON, pathExists } from 'fs-extra';
6
- import { join } from 'path';
7
- const presets = {
8
- nextjs: [
9
- 'typescript-standards',
10
- 'react-patterns',
11
- 'nextjs-patterns',
12
- 'testing-standards',
13
- ],
14
- react: ['typescript-standards', 'react-patterns', 'testing-standards'],
15
- node: ['typescript-standards', 'testing-standards', 'security-standards'],
16
- minimal: ['typescript-standards'],
17
- };
18
- export const initCommand = new Command('guideposts')
19
- .description('Set up guideposts (.outfitter config) for managing fieldguides')
20
- .option('-p, --preset <preset>', 'Use a preset configuration', 'minimal')
21
- .option('--with-claude', 'Include CLAUDE.md for AI assistance')
22
- .option('-f, --force', 'Force initialization even if .outfitter exists')
23
- .action(async (options) => {
24
- const cwd = process.cwd();
25
- const outfitterDir = join(cwd, '.outfitter');
26
- // Check if already initialized
27
- if ((await pathExists(outfitterDir)) && !options.force) {
28
- console.error(chalk.red('Project already initialized. Use --force to reinitialize.'));
29
- process.exit(1);
30
- }
31
- // Interactive setup if no preset
32
- let selectedPreset = options.preset;
33
- if (!selectedPreset || !presets[selectedPreset]) {
34
- const answers = await inquirer.prompt([
35
- {
36
- type: 'list',
37
- name: 'preset',
38
- message: 'Select a project preset:',
39
- choices: [
40
- { name: 'Next.js Full Stack', value: 'nextjs' },
41
- { name: 'React SPA', value: 'react' },
42
- { name: 'Node.js Backend', value: 'node' },
43
- { name: 'Minimal (TypeScript only)', value: 'minimal' },
44
- ],
45
- },
46
- ]);
47
- selectedPreset = answers.preset;
48
- }
49
- const spinner = ora('Initializing Outfitter...').start();
50
- try {
51
- // Create .outfitter directory
52
- await ensureDir(outfitterDir);
53
- // Create config
54
- const config = {
55
- version: '1.0.0',
56
- preset: selectedPreset,
57
- fieldguides: presets[selectedPreset],
58
- installed: new Date().toISOString(),
59
- };
60
- await writeJSON(join(outfitterDir, 'config.json'), config, { spaces: 2 });
61
- spinner.succeed('Outfitter initialized successfully!');
62
- console.log('\n' + chalk.green('✓') + ' Created .outfitter/config.json');
63
- console.log('\n' + chalk.cyan('Next steps:'));
64
- console.log(' 1. Run ' +
65
- chalk.yellow('outfitter add <fieldguide>') +
66
- ' to add specific fieldguides');
67
- console.log(' 2. Run ' +
68
- chalk.yellow('outfitter list') +
69
- ' to see available fieldguides');
70
- }
71
- catch (error) {
72
- spinner.fail('Failed to initialize Outfitter');
73
- throw error;
74
- }
75
- });
76
- //# sourceMappingURL=init.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const listCommand: Command;
3
- //# sourceMappingURL=list.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,eAAO,MAAM,WAAW,SAwCpB,CAAC"}
@@ -1,51 +0,0 @@
1
- import { Command } from 'commander';
2
- import chalk from 'chalk';
3
- import { readJSON, pathExists } from 'fs-extra';
4
- import { join } from 'path';
5
- // TODO: This would come from a registry or the fieldguides package
6
- const availableFieldguides = {
7
- 'typescript-standards': 'Core TypeScript patterns and conventions',
8
- 'react-patterns': 'React component and hook patterns',
9
- 'nextjs-patterns': 'Next.js specific patterns and best practices',
10
- 'testing-standards': 'Comprehensive testing methodology',
11
- 'security-standards': 'Security baseline and best practices',
12
- 'react-hook-form': 'Form handling with React Hook Form',
13
- 'react-query': 'Data fetching with React Query',
14
- 'zustand-guide': 'State management with Zustand',
15
- 'vitest-guide': 'Testing with Vitest',
16
- 'playwright-guide': 'E2E testing with Playwright',
17
- };
18
- export const listCommand = new Command('list')
19
- .description('List available fieldguides')
20
- .option('-i, --installed', 'Show only installed fieldguides')
21
- .action(async (options) => {
22
- const cwd = process.cwd();
23
- const configPath = join(cwd, '.outfitter', 'config.json');
24
- let installedFieldguides = [];
25
- if (await pathExists(configPath)) {
26
- const config = await readJSON(configPath);
27
- installedFieldguides = config.fieldguides || config.supplies || []; // Support old 'supplies' key for backwards compatibility
28
- }
29
- if (options.installed) {
30
- if (installedFieldguides.length === 0) {
31
- console.log(chalk.yellow('No fieldguides installed yet.'));
32
- return;
33
- }
34
- console.log(chalk.cyan('Installed fieldguides:\n'));
35
- installedFieldguides.forEach(fieldguide => {
36
- console.log(' ' + chalk.green('✓') + ' ' + fieldguide);
37
- });
38
- }
39
- else {
40
- console.log(chalk.cyan('Available fieldguides:\n'));
41
- Object.entries(availableFieldguides).forEach(([name, description]) => {
42
- const isInstalled = installedFieldguides.includes(name);
43
- const status = isInstalled ? chalk.green('✓') : chalk.gray('○');
44
- const nameColor = isInstalled ? chalk.green : chalk.white;
45
- console.log(` ${status} ${nameColor(name)}`);
46
- console.log(` ${chalk.gray(description)}\n`);
47
- });
48
- console.log(chalk.gray('\nUse "outfitter add <fieldguide>" to install fieldguides'));
49
- }
50
- });
51
- //# sourceMappingURL=list.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const packCommand: Command;
3
- //# sourceMappingURL=pack.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pack.d.ts","sourceRoot":"","sources":["../../src/commands/pack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,WAAW,SAsErB,CAAC"}
@@ -1,54 +0,0 @@
1
- import { Command } from 'commander';
2
- import chalk from 'chalk';
3
- import { readJSON, writeJSON, pathExists } from 'fs-extra';
4
- import { join } from 'path';
5
- export const packCommand = new Command('pack')
6
- .description('Manage fieldguide configurations (packlists)')
7
- .addCommand(new Command('export')
8
- .description('Export current configuration as a packlist')
9
- .option('-o, --output <file>', 'Output file', 'packlist.json')
10
- .action(async (options) => {
11
- const cwd = process.cwd();
12
- const configPath = join(cwd, '.outfitter', 'config.json');
13
- if (!(await pathExists(configPath))) {
14
- console.error(chalk.red('Project not initialized. Run "outfitter init" first.'));
15
- process.exit(1);
16
- }
17
- const config = await readJSON(configPath);
18
- const packlist = {
19
- name: 'Custom Packlist',
20
- version: '1.0.0',
21
- fieldguides: config.fieldguides || config.supplies || [], // Support old 'supplies' key
22
- created: new Date().toISOString(),
23
- };
24
- await writeJSON(join(cwd, options.output), packlist, { spaces: 2 });
25
- console.log(chalk.green('✓') +
26
- ' Exported packlist to ' +
27
- chalk.cyan(options.output));
28
- }))
29
- .addCommand(new Command('import')
30
- .description('Import a packlist configuration')
31
- .argument('<file>', 'Packlist file to import')
32
- .action(async (file) => {
33
- const cwd = process.cwd();
34
- const configPath = join(cwd, '.outfitter', 'config.json');
35
- const packlistPath = join(cwd, file);
36
- if (!(await pathExists(packlistPath))) {
37
- console.error(chalk.red(`Packlist file not found: ${file}`));
38
- process.exit(1);
39
- }
40
- const packlist = await readJSON(packlistPath);
41
- if (!(packlist.fieldguides || packlist.supplies) ||
42
- !Array.isArray(packlist.fieldguides || packlist.supplies)) {
43
- console.error(chalk.red('Invalid packlist format'));
44
- process.exit(1);
45
- }
46
- // Initialize if needed
47
- if (!(await pathExists(configPath))) {
48
- console.log(chalk.yellow('Initializing project...'));
49
- // Create minimal config
50
- }
51
- console.log(chalk.green('✓') +
52
- ` Imported ${(packlist.fieldguides || packlist.supplies).length} fieldguides from ${chalk.cyan(packlist.name)}`);
53
- }));
54
- //# sourceMappingURL=pack.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/commands/pack.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const updateCommand: Command;
3
- //# sourceMappingURL=update.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,eAAO,MAAM,aAAa,SAiDtB,CAAC"}
@@ -1,44 +0,0 @@
1
- import { Command } from 'commander';
2
- import chalk from 'chalk';
3
- import ora from 'ora';
4
- import { readJSON, pathExists } from 'fs-extra';
5
- import { join } from 'path';
6
- export const updateCommand = new Command('update')
7
- .description('Update fieldguides to latest versions')
8
- .option('-c, --check', 'Check for updates without installing')
9
- .action(async (options) => {
10
- const cwd = process.cwd();
11
- const configPath = join(cwd, '.outfitter', 'config.json');
12
- if (!(await pathExists(configPath))) {
13
- console.error(chalk.red('Project not initialized. Run "outfitter init" first.'));
14
- process.exit(1);
15
- }
16
- const config = await readJSON(configPath);
17
- if (options.check) {
18
- console.log(chalk.cyan('Checking for updates...\n'));
19
- // TODO: In real implementation, check against registry
20
- console.log(chalk.yellow('⚠') +
21
- ' typescript-standards: ' +
22
- chalk.green('v1.2.0') +
23
- ' → ' +
24
- chalk.cyan('v1.3.0'));
25
- console.log(chalk.green('✓') + ' react-patterns: up to date');
26
- console.log(chalk.green('✓') + ' testing-standards: up to date');
27
- console.log('\n' + chalk.gray('Run "outfitter update" to install updates'));
28
- }
29
- else {
30
- const spinner = ora('Updating fieldguides...').start();
31
- try {
32
- // TODO: Actually fetch and update files
33
- await new Promise(resolve => setTimeout(resolve, 1500)); // Simulate work
34
- spinner.succeed('Fieldguides updated successfully!');
35
- console.log('\n' + chalk.green('Updated:'));
36
- console.log(' • typescript-standards: v1.2.0 → v1.3.0');
37
- }
38
- catch (error) {
39
- spinner.fail('Failed to update fieldguides');
40
- throw error;
41
- }
42
- }
43
- });
44
- //# sourceMappingURL=update.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,aAAa,EAAE,sCAAsC,CAAC;KAC7D,MAAM,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;IACtB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;IAE1D,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAClE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC;IAE1C,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;QAErD,uDAAuD;QACvD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;YACf,0BAA0B;YAC1B,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;YACrB,KAAK;YACL,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CACvB,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,8BAA8B,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,iCAAiC,CAAC,CAAC;QAElE,OAAO,CAAC,GAAG,CACT,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAC/D,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,GAAG,CAAC,yBAAyB,CAAC,CAAC,KAAK,EAAE,CAAC;QAEvD,IAAI,CAAC;YACH,wCAAwC;YACxC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB;YAEzE,OAAO,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;YAErD,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC7C,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC"}