@savvy-web/cli 0.3.1 → 0.4.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 (39) hide show
  1. package/bin/savvy.d.ts +1 -0
  2. package/bin/savvy.js +17 -1
  3. package/cli/index.js +123 -0
  4. package/commands/changeset/commands/analyze-branch.js +108 -0
  5. package/commands/changeset/commands/check.js +71 -0
  6. package/commands/changeset/commands/classify.js +69 -0
  7. package/commands/changeset/commands/config-show.js +100 -0
  8. package/commands/changeset/commands/config-validate.js +63 -0
  9. package/commands/changeset/commands/deps-detect.js +103 -0
  10. package/commands/changeset/commands/deps-regen.js +277 -0
  11. package/commands/changeset/commands/init.js +634 -0
  12. package/commands/changeset/commands/lint.js +62 -0
  13. package/commands/changeset/commands/release-surface.js +96 -0
  14. package/commands/changeset/commands/transform.js +88 -0
  15. package/commands/changeset/commands/validate-file.js +52 -0
  16. package/commands/changeset/commands/version.js +178 -0
  17. package/commands/changeset/index.js +42 -0
  18. package/commands/changeset/utils/config-gate.js +59 -0
  19. package/commands/check.js +74 -0
  20. package/commands/clean.js +186 -0
  21. package/commands/commit/check.js +170 -0
  22. package/commands/commit/constants.js +10 -0
  23. package/commands/commit/hook.js +22 -0
  24. package/commands/commit/hooks/post-commit-verify.js +121 -0
  25. package/commands/commit/hooks/pre-commit-message.js +64 -0
  26. package/commands/commit/hooks/session-start.js +69 -0
  27. package/commands/commit/hooks/user-prompt-submit.js +42 -0
  28. package/commands/commit/index.js +20 -0
  29. package/commands/commit/init.js +127 -0
  30. package/commands/init.js +88 -0
  31. package/commands/lint/check.js +306 -0
  32. package/commands/lint/fmt.js +64 -0
  33. package/commands/lint/index.js +20 -0
  34. package/commands/lint/init.js +221 -0
  35. package/index.d.ts +237 -244
  36. package/index.js +14 -1
  37. package/package.json +39 -51
  38. package/841.js +0 -2394
  39. package/tsdoc-metadata.json +0 -11
package/index.d.ts CHANGED
@@ -1,244 +1,237 @@
1
- /**
2
- * `@savvy-web/cli` the `savvy` CLI for the Silk Suite.
3
- *
4
- * @remarks
5
- * This entry point re-exports the `changeset`, `commit`, and `lint` command groups,
6
- * their named handlers, and `runCli` the assembled root `savvy` command with its
7
- * merged runtime layer stack.
8
- *
9
- * @packageDocumentation
10
- */
11
-
12
- import { BiomeSchemaSync } from '@savvy-web/silk-effects';
13
- import { Command } from '@effect/cli';
14
- import { ConfigDiscovery } from '@savvy-web/silk-effects';
15
- import { Effect } from 'effect';
16
- import { FileSystem } from '@effect/platform';
17
- import type { JsoncParseError } from 'jsonc-effect';
18
- import { ManagedSection } from '@savvy-web/silk-effects';
19
- import type { PlatformError } from '@effect/platform/Error';
20
- import type { SectionParseError } from '@savvy-web/silk-effects';
21
- import type { SectionWriteError } from '@savvy-web/silk-effects';
22
- import { ToolDiscovery } from '@savvy-web/silk-effects';
23
- import { VersioningStrategy } from '@savvy-web/silk-effects';
24
- import { WorkspaceDiscovery } from 'workspaces-effect';
25
- import { WorkspaceRoot } from 'workspaces-effect';
26
-
27
- /**
28
- * The `savvy changeset` command group for use in Task B7 root assembly.
29
- *
30
- * @remarks
31
- * Typed as `unknown` at the export boundary to avoid TypeScript declaration-emit
32
- * errors from Effect's internal types. Task B7 should import and use this via
33
- * `Command.withSubcommands([changesetCommand as never])` or re-infer the type.
34
- */
35
- export declare const changesetCommand: Command.Command<"changeset", any, any, any>;
36
-
37
- /**
38
- * The `savvy check` command for use in the Task B7 root assembly.
39
- *
40
- * @remarks
41
- * Typed with `any` at the export boundary to avoid TypeScript declaration-emit
42
- * errors from Effect's internal types. Task B7 should use this via
43
- * `Command.withSubcommands([checkCommand as never])` or re-infer the type.
44
- */
45
- export declare const checkCommand: Command.Command<"check", any, any, any>;
46
-
47
- /**
48
- * The `savvy commit` command group for use in Task B7 root assembly.
49
- *
50
- * @remarks
51
- * Typed as `unknown` at the export boundary to avoid TypeScript declaration-emit
52
- * errors from Effect's internal types. Task B7 should import and use this directly
53
- * as `Command.withSubcommands([commitCommand])` — the cast is for declaration emit only.
54
- */
55
- export declare const commitCommand: Command.Command<"commit", any, any, any>;
56
-
57
- /**
58
- * The `savvy init` command for use in the Task B7 root assembly.
59
- *
60
- * @remarks
61
- * Typed with `any` at the export boundary to avoid TypeScript declaration-emit
62
- * errors from Effect's internal types. Task B7 should use this via
63
- * `Command.withSubcommands([initCommand as never])` or re-infer the type.
64
- */
65
- export declare const initCommand: Command.Command<"init", any, any, any>;
66
-
67
- /**
68
- * The `savvy lint` command group for use in Task B7 root assembly.
69
- *
70
- * @remarks
71
- * Typed as `unknown` at the export boundary to avoid TypeScript declaration-emit
72
- * errors from Effect's internal types. Task B7 should import and use this directly
73
- * as `Command.withSubcommands([lintCommand])` the cast is for declaration emit only.
74
- */
75
- export declare const lintCommand: Command.Command<"lint", any, any, any>;
76
-
77
- /**
78
- * Run the check validation pipeline on all changeset files in `dir`.
79
- *
80
- * Groups lint messages by file and logs a human-readable summary. Sets
81
- * `process.exitCode = 1` when one or more errors are found.
82
- *
83
- * @param dir - Path to the changeset directory (resolved relative to cwd)
84
- * @returns An Effect that performs validation and logs results
85
- *
86
- * @internal
87
- */
88
- export declare function runChangesetCheck(dir: string): Effect.Effect<void, Error>;
89
-
90
- /**
91
- * Run the full init pipeline.
92
- *
93
- * Exported so Task B5's unified `savvy init` orchestrator can invoke the
94
- * changeset init step directly without going through the CLI command layer.
95
- *
96
- * @param opts - The same options the CLI command receives
97
- * @returns An Effect that performs initialization
98
- *
99
- * @internal
100
- */
101
- export declare function runChangesetInit(opts: {
102
- force: boolean;
103
- quiet: boolean;
104
- skipMarkdownlint: boolean;
105
- check: boolean;
106
- }): Effect.Effect<void, never, WorkspaceRoot>;
107
-
108
- /**
109
- * Run all three check step Effects without short-circuiting.
110
- *
111
- * All three checks always run, sequentially (concurrency 1) so per-tool
112
- * output stays grouped. If any fail, the combined Effect fails with all
113
- * accumulated errors. Uses `Effect.all` with `{ concurrency: 1, mode: "validate" }`
114
- * to collect every failure rather than stopping at the first.
115
- *
116
- * @param steps - The three step Effects to run. Injected for testability.
117
- * @returns An Effect that resolves to `void` on success, or fails with the
118
- * union of all failing steps' errors.
119
- */
120
- export declare function runCheck<EChangeset, RChangeset, ECommit, RCommit, ELint, RLint>(steps: {
121
- changeset: Effect.Effect<unknown, EChangeset, RChangeset>;
122
- commit: Effect.Effect<unknown, ECommit, RCommit>;
123
- lint: Effect.Effect<unknown, ELint, RLint>;
124
- }): Effect.Effect<void, EChangeset | ECommit | ELint, RChangeset | RCommit | RLint>;
125
-
126
- /**
127
- * Root `savvy` CLI entry point using `@effect/cli`.
128
- *
129
- * @remarks
130
- * Assembles the five Phase-B command pieces — the `init` and `check` top-level
131
- * orchestrators plus the `changeset`, `commit`, and `lint` groups — under a
132
- * single `savvy` root command, then provides the merged runtime Layer stack
133
- * that satisfies every command's service requirements.
134
- *
135
- * The layer stack is the union of the three standalone CLIs' stacks
136
- * (`@savvy-web/changesets`, `@savvy-web/commitlint`, `@savvy-web/lint-staged`),
137
- * with each service's transitive dependencies wired:
138
- *
139
- * - `NodeContext.layer` `FileSystem`, `Path`, and `CommandExecutor`, consumed
140
- * by every config reader, workspace service, and tool-discovery layer.
141
- * - Workspace services `WorkspaceRootLive`, `PackageManagerDetectorLive`, and
142
- * `WorkspaceDiscoveryLive` (provided `WorkspaceRootLive`), the minimal hand-wired
143
- * trio shared by the three source CLIs.
144
- * - Flat silk-effects services `ChangesetConfigReaderLive`,
145
- * `SilkPublishabilityDetectorLive`, `ManagedSectionLive`, `BiomeSchemaSyncLive`,
146
- * `ConfigDiscoveryLive`, `ToolDiscoveryLive`, and `VersioningStrategyLive`
147
- * (provided `ChangesetConfigReaderLive`).
148
- * - Changesets-namespace services — `Changesets.ConfigInspectorLive` (provided
149
- * `ChangesetConfigReaderLive`), `Changesets.WorkspaceSnapshotReaderLive`, and
150
- * `Changesets.BranchAnalyzerLive`, which shares the single `ConfigInspectorLive`
151
- * instance built once via `provideMerge`.
152
- *
153
- * The CLI version is injected at build time via `__PACKAGE_VERSION__`.
154
- *
155
- * @internal
156
- */
157
- /**
158
- * Bootstrap and run the `savvy` CLI application.
159
- *
160
- * @remarks
161
- * Builds an Effect from the parsed `process.argv`, provides the merged layer
162
- * stack, and hands execution to `NodeRuntime.runMain`.
163
- *
164
- * @internal
165
- */
166
- export declare function runCli(): void;
167
-
168
- /**
169
- * Run the check validation pipeline.
170
- *
171
- * Exported so Task B6's unified `savvy check` orchestrator can invoke the
172
- * commitlint check step directly without going through the CLI command layer.
173
- *
174
- * @returns An Effect that performs validation and logs results
175
- *
176
- * @internal
177
- */
178
- export declare function runCommitCheck(): Effect.Effect<void, SectionParseError | PlatformError, ManagedSection | FileSystem.FileSystem | VersioningStrategy | WorkspaceDiscovery>;
179
-
180
- /**
181
- * Run the full init pipeline.
182
- *
183
- * Exported so Task B5's unified `savvy init` orchestrator can invoke the
184
- * commitlint init step directly without going through the CLI command layer.
185
- *
186
- * @param opts - The same options the CLI command receives
187
- * @returns An Effect that performs initialization
188
- *
189
- * @internal
190
- */
191
- export declare function runCommitInit(opts: {
192
- force: boolean;
193
- config: string;
194
- }): Effect.Effect<void, Error | SectionWriteError | PlatformError, ManagedSection | FileSystem.FileSystem>;
195
-
196
- /**
197
- * Run the three init step Effects in order: changeset → commit → lint.
198
- *
199
- * Monadic sequencing via `Effect.gen` short-circuits on the first failure
200
- * if changeset fails, neither commit nor lint will run.
201
- *
202
- * @param steps - The three step Effects to sequence. Injected for testability.
203
- * @returns An Effect that resolves to `void` on success, or fails with the
204
- * error of the first failing step.
205
- */
206
- export declare function runInit<EChangeset, RChangeset, ECommit, RCommit, ELint, RLint>(steps: {
207
- changeset: Effect.Effect<unknown, EChangeset, RChangeset>;
208
- commit: Effect.Effect<unknown, ECommit, RCommit>;
209
- lint: Effect.Effect<unknown, ELint, RLint>;
210
- }): Effect.Effect<void, EChangeset | ECommit | ELint, RChangeset | RCommit | RLint>;
211
-
212
- /**
213
- * Run the lint check validation pipeline.
214
- *
215
- * Exported so Task B6's unified `savvy check` orchestrator can invoke the
216
- * lint check step directly without going through the CLI command layer.
217
- *
218
- * @param opts - Options for the check command
219
- * @returns An Effect that performs validation and logs results
220
- *
221
- * @internal
222
- */
223
- export declare function runLintCheck(opts: {
224
- quiet: boolean;
225
- }): Effect.Effect<void, JsoncParseError | SectionParseError | PlatformError, ManagedSection | FileSystem.FileSystem | ToolDiscovery | ConfigDiscovery>;
226
-
227
- /**
228
- * Run the full lint init pipeline.
229
- *
230
- * Exported so Task B5's unified `savvy init` orchestrator can invoke the
231
- * lint-staged init step directly without going through the CLI command layer.
232
- *
233
- * @param opts - The same options the CLI command receives
234
- * @returns An Effect that performs initialization
235
- *
236
- * @internal
237
- */
238
- export declare function runLintInit(opts: {
239
- force: boolean;
240
- config: string;
241
- preset: "minimal" | "standard" | "silk";
242
- }): Effect.Effect<void, Error | SectionWriteError | PlatformError, ManagedSection | FileSystem.FileSystem | BiomeSchemaSync>;
243
-
244
- export { }
1
+ import { Command } from "@effect/cli";
2
+ import { Effect } from "effect";
3
+ import { WorkspaceDiscovery, WorkspaceRoot } from "workspaces-effect";
4
+ import { FileSystem } from "@effect/platform";
5
+ import { PlatformError } from "@effect/platform/Error";
6
+ import { BiomeSchemaSync, ConfigDiscovery, ManagedSection, SectionParseError, SectionWriteError, ToolDiscovery, VersioningStrategy } from "@savvy-web/silk-effects";
7
+ import { JsoncParseError } from "jsonc-effect";
8
+
9
+ //#region src/cli/index.d.ts
10
+ /**
11
+ * Root `savvy` CLI entry point using `@effect/cli`.
12
+ *
13
+ * @remarks
14
+ * Assembles the five Phase-B command pieces — the `init` and `check` top-level
15
+ * orchestrators plus the `changeset`, `commit`, and `lint` groups — under a
16
+ * single `savvy` root command, then provides the merged runtime Layer stack
17
+ * that satisfies every command's service requirements.
18
+ *
19
+ * The layer stack is the union of the three standalone CLIs' stacks
20
+ * (`@savvy-web/changesets`, `@savvy-web/commitlint`, `@savvy-web/lint-staged`),
21
+ * with each service's transitive dependencies wired:
22
+ *
23
+ * - `NodeContext.layer` `FileSystem`, `Path`, and `CommandExecutor`, consumed
24
+ * by every config reader, workspace service, and tool-discovery layer.
25
+ * - Workspace services — `WorkspaceRootLive`, `PackageManagerDetectorLive`, and
26
+ * `WorkspaceDiscoveryLive` (provided `WorkspaceRootLive`), the minimal hand-wired
27
+ * trio shared by the three source CLIs.
28
+ * - Flat silk-effects services `ChangesetConfigReaderLive`,
29
+ * `SilkPublishabilityDetectorLive`, `ManagedSectionLive`, `BiomeSchemaSyncLive`,
30
+ * `ConfigDiscoveryLive`, `ToolDiscoveryLive`, and `VersioningStrategyLive`
31
+ * (provided `ChangesetConfigReaderLive`).
32
+ * - Changesets-namespace services `Changesets.ConfigInspectorLive` (provided
33
+ * `ChangesetConfigReaderLive`), `Changesets.WorkspaceSnapshotReaderLive`, and
34
+ * `Changesets.BranchAnalyzerLive`, which shares the single `ConfigInspectorLive`
35
+ * instance built once via `provideMerge`.
36
+ *
37
+ * The CLI version is injected at build time via `__PACKAGE_VERSION__`.
38
+ *
39
+ * @internal
40
+ */
41
+ /**
42
+ * Bootstrap and run the `savvy` CLI application.
43
+ *
44
+ * @remarks
45
+ * Builds an Effect from the parsed `process.argv`, provides the merged layer
46
+ * stack, and hands execution to `NodeRuntime.runMain`.
47
+ *
48
+ * @internal
49
+ */
50
+ declare function runCli(): void;
51
+ //#endregion
52
+ //#region src/commands/changeset/commands/check.d.ts
53
+ /**
54
+ * Run the check validation pipeline on all changeset files in `dir`.
55
+ *
56
+ * Groups lint messages by file and logs a human-readable summary. Sets
57
+ * `process.exitCode = 1` when one or more errors are found.
58
+ *
59
+ * @param dir - Path to the changeset directory (resolved relative to cwd)
60
+ * @returns An Effect that performs validation and logs results
61
+ *
62
+ * @internal
63
+ */
64
+ declare function runChangesetCheck(dir: string): Effect.Effect<void, Error>;
65
+ //#endregion
66
+ //#region src/commands/changeset/commands/init.d.ts
67
+ /**
68
+ * Run the full init pipeline.
69
+ *
70
+ * Exported so Task B5's unified `savvy init` orchestrator can invoke the
71
+ * changeset init step directly without going through the CLI command layer.
72
+ *
73
+ * @param opts - The same options the CLI command receives
74
+ * @returns An Effect that performs initialization
75
+ *
76
+ * @internal
77
+ */
78
+ declare function runChangesetInit(opts: {
79
+ force: boolean;
80
+ quiet: boolean;
81
+ skipMarkdownlint: boolean;
82
+ check: boolean;
83
+ }): Effect.Effect<void, never, WorkspaceRoot>;
84
+ //#endregion
85
+ //#region src/commands/changeset/index.d.ts
86
+ /**
87
+ * The `savvy changeset` command group for use in Task B7 root assembly.
88
+ *
89
+ * @remarks
90
+ * Typed as `unknown` at the export boundary to avoid TypeScript declaration-emit
91
+ * errors from Effect's internal types. Task B7 should import and use this via
92
+ * `Command.withSubcommands([changesetCommand as never])` or re-infer the type.
93
+ */
94
+ declare const changesetCommand: Command.Command<"changeset", any, any, any>;
95
+ //#endregion
96
+ //#region src/commands/check.d.ts
97
+ /**
98
+ * Run all three check step Effects without short-circuiting.
99
+ *
100
+ * All three checks always run, sequentially (concurrency 1) so per-tool
101
+ * output stays grouped. If any fail, the combined Effect fails with all
102
+ * accumulated errors. Uses `Effect.all` with `{ concurrency: 1, mode: "validate" }`
103
+ * to collect every failure rather than stopping at the first.
104
+ *
105
+ * @param steps - The three step Effects to run. Injected for testability.
106
+ * @returns An Effect that resolves to `void` on success, or fails with the
107
+ * union of all failing steps' errors.
108
+ */
109
+ declare function runCheck<EChangeset, RChangeset, ECommit, RCommit, ELint, RLint>(steps: {
110
+ changeset: Effect.Effect<unknown, EChangeset, RChangeset>;
111
+ commit: Effect.Effect<unknown, ECommit, RCommit>;
112
+ lint: Effect.Effect<unknown, ELint, RLint>;
113
+ }): Effect.Effect<void, EChangeset | ECommit | ELint, RChangeset | RCommit | RLint>;
114
+ /**
115
+ * The `savvy check` command for use in the Task B7 root assembly.
116
+ *
117
+ * @remarks
118
+ * Typed with `any` at the export boundary to avoid TypeScript declaration-emit
119
+ * errors from Effect's internal types. Task B7 should use this via
120
+ * `Command.withSubcommands([checkCommand as never])` or re-infer the type.
121
+ */
122
+ declare const checkCommand: Command.Command<"check", any, any, any>;
123
+ //#endregion
124
+ //#region src/commands/commit/check.d.ts
125
+ /**
126
+ * Run the check validation pipeline.
127
+ *
128
+ * Exported so Task B6's unified `savvy check` orchestrator can invoke the
129
+ * commitlint check step directly without going through the CLI command layer.
130
+ *
131
+ * @returns An Effect that performs validation and logs results
132
+ *
133
+ * @internal
134
+ */
135
+ declare function runCommitCheck(): Effect.Effect<void, SectionParseError | PlatformError, ManagedSection | FileSystem.FileSystem | VersioningStrategy | WorkspaceDiscovery>;
136
+ //#endregion
137
+ //#region src/commands/commit/init.d.ts
138
+ /**
139
+ * Run the full init pipeline.
140
+ *
141
+ * Exported so Task B5's unified `savvy init` orchestrator can invoke the
142
+ * commitlint init step directly without going through the CLI command layer.
143
+ *
144
+ * @param opts - The same options the CLI command receives
145
+ * @returns An Effect that performs initialization
146
+ *
147
+ * @internal
148
+ */
149
+ declare function runCommitInit(opts: {
150
+ force: boolean;
151
+ config: string;
152
+ }): Effect.Effect<void, Error | SectionWriteError | PlatformError, ManagedSection | FileSystem.FileSystem>;
153
+ //#endregion
154
+ //#region src/commands/commit/index.d.ts
155
+ /**
156
+ * The `savvy commit` command group for use in Task B7 root assembly.
157
+ *
158
+ * @remarks
159
+ * Typed as `unknown` at the export boundary to avoid TypeScript declaration-emit
160
+ * errors from Effect's internal types. Task B7 should import and use this directly
161
+ * as `Command.withSubcommands([commitCommand])` the cast is for declaration emit only.
162
+ */
163
+ declare const commitCommand: Command.Command<"commit", any, any, any>;
164
+ //#endregion
165
+ //#region src/commands/init.d.ts
166
+ /**
167
+ * Run the three init step Effects in order: changeset → commit → lint.
168
+ *
169
+ * Monadic sequencing via `Effect.gen` short-circuits on the first failure
170
+ * if changeset fails, neither commit nor lint will run.
171
+ *
172
+ * @param steps - The three step Effects to sequence. Injected for testability.
173
+ * @returns An Effect that resolves to `void` on success, or fails with the
174
+ * error of the first failing step.
175
+ */
176
+ declare function runInit<EChangeset, RChangeset, ECommit, RCommit, ELint, RLint>(steps: {
177
+ changeset: Effect.Effect<unknown, EChangeset, RChangeset>;
178
+ commit: Effect.Effect<unknown, ECommit, RCommit>;
179
+ lint: Effect.Effect<unknown, ELint, RLint>;
180
+ }): Effect.Effect<void, EChangeset | ECommit | ELint, RChangeset | RCommit | RLint>;
181
+ /**
182
+ * The `savvy init` command for use in the Task B7 root assembly.
183
+ *
184
+ * @remarks
185
+ * Typed with `any` at the export boundary to avoid TypeScript declaration-emit
186
+ * errors from Effect's internal types. Task B7 should use this via
187
+ * `Command.withSubcommands([initCommand as never])` or re-infer the type.
188
+ */
189
+ declare const initCommand: Command.Command<"init", any, any, any>;
190
+ //#endregion
191
+ //#region src/commands/lint/check.d.ts
192
+ /**
193
+ * Run the lint check validation pipeline.
194
+ *
195
+ * Exported so Task B6's unified `savvy check` orchestrator can invoke the
196
+ * lint check step directly without going through the CLI command layer.
197
+ *
198
+ * @param opts - Options for the check command
199
+ * @returns An Effect that performs validation and logs results
200
+ *
201
+ * @internal
202
+ */
203
+ declare function runLintCheck(opts: {
204
+ quiet: boolean;
205
+ }): Effect.Effect<void, JsoncParseError | SectionParseError | PlatformError, ManagedSection | FileSystem.FileSystem | ToolDiscovery | ConfigDiscovery>;
206
+ //#endregion
207
+ //#region src/commands/lint/init.d.ts
208
+ /**
209
+ * Run the full lint init pipeline.
210
+ *
211
+ * Exported so Task B5's unified `savvy init` orchestrator can invoke the
212
+ * lint-staged init step directly without going through the CLI command layer.
213
+ *
214
+ * @param opts - The same options the CLI command receives
215
+ * @returns An Effect that performs initialization
216
+ *
217
+ * @internal
218
+ */
219
+ declare function runLintInit(opts: {
220
+ force: boolean;
221
+ config: string;
222
+ preset: "minimal" | "standard" | "silk";
223
+ }): Effect.Effect<void, Error | SectionWriteError | PlatformError, ManagedSection | FileSystem.FileSystem | BiomeSchemaSync>;
224
+ //#endregion
225
+ //#region src/commands/lint/index.d.ts
226
+ /**
227
+ * The `savvy lint` command group for use in Task B7 root assembly.
228
+ *
229
+ * @remarks
230
+ * Typed as `unknown` at the export boundary to avoid TypeScript declaration-emit
231
+ * errors from Effect's internal types. Task B7 should import and use this directly
232
+ * as `Command.withSubcommands([lintCommand])` — the cast is for declaration emit only.
233
+ */
234
+ declare const lintCommand: Command.Command<"lint", any, any, any>;
235
+ //#endregion
236
+ export { changesetCommand, checkCommand, commitCommand, initCommand, lintCommand, runChangesetCheck, runChangesetInit, runCheck, runCli, runCommitCheck, runCommitInit, runInit, runLintCheck, runLintInit };
237
+ //# sourceMappingURL=index.d.ts.map
package/index.js CHANGED
@@ -1 +1,14 @@
1
- export { changesetCommand, checkCommand, commitCommand, initCommand, lintCommand, runChangesetCheck, runChangesetInit, runCheck, runCli, runCommitCheck, runCommitInit, runInit, runLintCheck, runLintInit } from "./841.js";
1
+ import { runChangesetCheck } from "./commands/changeset/commands/check.js";
2
+ import { runChangesetInit } from "./commands/changeset/commands/init.js";
3
+ import { changesetCommand } from "./commands/changeset/index.js";
4
+ import { runCommitInit } from "./commands/commit/init.js";
5
+ import { runCommitCheck } from "./commands/commit/check.js";
6
+ import { runLintCheck } from "./commands/lint/check.js";
7
+ import { checkCommand, runCheck } from "./commands/check.js";
8
+ import { commitCommand } from "./commands/commit/index.js";
9
+ import { runLintInit } from "./commands/lint/init.js";
10
+ import { initCommand, runInit } from "./commands/init.js";
11
+ import { lintCommand } from "./commands/lint/index.js";
12
+ import { runCli } from "./cli/index.js";
13
+
14
+ export { changesetCommand, checkCommand, commitCommand, initCommand, lintCommand, runChangesetCheck, runChangesetInit, runCheck, runCli, runCommitCheck, runCommitInit, runInit, runLintCheck, runLintInit };
package/package.json CHANGED
@@ -1,53 +1,41 @@
1
1
  {
2
- "name": "@savvy-web/cli",
3
- "version": "0.3.1",
4
- "private": false,
5
- "description": "The savvy CLI — unified commit, changeset, and lint commands for the Silk Suite",
6
- "homepage": "https://github.com/savvy-web/systems/tree/main/packages/cli",
7
- "bugs": {
8
- "url": "https://github.com/savvy-web/systems/issues"
9
- },
10
- "repository": {
11
- "type": "git",
12
- "url": "git+https://github.com/savvy-web/systems.git",
13
- "directory": "packages/cli"
14
- },
15
- "license": "MIT",
16
- "author": {
17
- "name": "C. Spencer Beggs",
18
- "email": "spencer@savvyweb.systems",
19
- "url": "https://savvyweb.systems"
20
- },
21
- "type": "module",
22
- "exports": {
23
- ".": {
24
- "types": "./index.d.ts",
25
- "import": "./index.js"
26
- }
27
- },
28
- "bin": {
29
- "savvy": "bin/savvy.js"
30
- },
31
- "dependencies": {
32
- "@effect/cli": "^0.75.1",
33
- "@effect/platform": "^0.96.1",
34
- "@effect/platform-node": "^0.106.0",
35
- "@savvy-web/silk-effects": "0.6.1",
36
- "effect": "^3.21.2",
37
- "jsonc-effect": "^0.2.1",
38
- "workspaces-effect": "^1.1.0",
39
- "yaml": "^2.9.0"
40
- },
41
- "files": [
42
- "!cli.api.json",
43
- "!tsconfig.json",
44
- "!tsdoc.json",
45
- "841.js",
46
- "README.md",
47
- "bin/savvy.js",
48
- "index.d.ts",
49
- "index.js",
50
- "package.json",
51
- "tsdoc-metadata.json"
52
- ]
2
+ "name": "@savvy-web/cli",
3
+ "version": "0.4.0",
4
+ "private": false,
5
+ "description": "The savvy CLI — unified commit, changeset, and lint commands for the Silk Suite",
6
+ "homepage": "https://github.com/savvy-web/systems/tree/main/packages/cli",
7
+ "bugs": {
8
+ "url": "https://github.com/savvy-web/systems/issues"
9
+ },
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "git+https://github.com/savvy-web/systems.git",
13
+ "directory": "packages/cli"
14
+ },
15
+ "license": "MIT",
16
+ "author": {
17
+ "name": "C. Spencer Beggs",
18
+ "email": "spencer@savvyweb.systems",
19
+ "url": "https://savvyweb.systems"
20
+ },
21
+ "type": "module",
22
+ "exports": {
23
+ ".": {
24
+ "types": "./index.d.ts",
25
+ "import": "./index.js"
26
+ }
27
+ },
28
+ "bin": {
29
+ "savvy": "bin/savvy.js"
30
+ },
31
+ "dependencies": {
32
+ "@effect/cli": "^0.75.1",
33
+ "@effect/platform": "^0.96.1",
34
+ "@effect/platform-node": "^0.106.0",
35
+ "@savvy-web/silk-effects": "1.0.0",
36
+ "effect": "^3.21.2",
37
+ "jsonc-effect": "^0.2.1",
38
+ "workspaces-effect": "^1.1.0",
39
+ "yaml": "^2.9.0"
40
+ }
53
41
  }