@theholocron/cli 3.21.0 → 3.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -170,14 +170,38 @@ interface ChromaticProjectConfig {
170
170
  exitZeroOnChanges?: boolean;
171
171
  }
172
172
  /**
173
- * Typed `with:` inputs for the `test` reusable workflow.
173
+ * A single Storybook app in a deploy workflow config.
174
+ * `name` becomes the sandbox sub-path (`_site/sandbox/<name>/`);
175
+ * `path` is the working directory relative to the repo root.
176
+ */
177
+ interface StorybookDeployProject {
178
+ name: string;
179
+ path: string;
180
+ }
181
+ /**
182
+ * Typed `with:` inputs for reusable workflows.
183
+ *
174
184
  * `run-chromatic` accepts either a plain boolean (single-project) or a
175
185
  * `ChromaticProjectConfig[]` object (multi-project monorepo).
186
+ *
187
+ * `docs` / `storybook` are high-level deploy shorthand that `holocron setup`
188
+ * translates to `type` / `storybook-projects` before writing the thin caller.
189
+ * They also drive automatic `paths:` derivation so you never need to write
190
+ * `paths:` manually for deploy entries.
176
191
  */
177
192
  type WorkflowWithConfig = Record<string, unknown> & {
178
193
  "run-chromatic"?: boolean | {
179
194
  projects: ChromaticProjectConfig[];
180
195
  };
196
+ /**
197
+ * Docs deployment shorthand. `true` uses the org-standard `docs/` directory;
198
+ * `{ path: "custom" }` uses a custom directory. Both derive a `paths:` entry automatically.
199
+ */
200
+ docs?: true | {
201
+ path: string;
202
+ };
203
+ /** Storybook apps to deploy alongside docs. Each entry's `path` is appended to `paths:`. */
204
+ storybook?: StorybookDeployProject[];
181
205
  };
182
206
  interface HolocronConfig {
183
207
  /** Project name. Derived from package.json when absent. */
@@ -199,14 +223,35 @@ interface HolocronConfig {
199
223
  *
200
224
  * Supported values: "lint" | "test" | "typecheck" | "codeql" | "review" |
201
225
  * "release" | "stale" | "greetings" | "dependencies" | "bookkeeping" | "audit" |
202
- * "deploy-docs"
226
+ * "deploy"
203
227
  *
204
228
  * `holocron setup` writes `.github/workflows/<name>.yml` for each entry,
205
- * calling the corresponding `ci-<name>.yml@main` reusable workflow.
229
+ * calling the corresponding reusable workflow in `theholocron/.github`.
206
230
  * Files are overwritten on each run — they are generated artifacts.
207
231
  *
208
- * Use `paths` to append additional `on.push.paths` entries beyond the
209
- * template default (e.g. the repo-specific docs content package path).
232
+ * ### deploy workflow
233
+ * Use `docs` and/or `storybook` in `with:` setup derives `paths:` automatically.
234
+ * `docs: true` uses the org-standard `docs/` directory; `docs: { path: "custom" }` overrides it.
235
+ *
236
+ * ```ts
237
+ * // Docs only (standard layout)
238
+ * { name: "deploy", with: { docs: true } }
239
+ *
240
+ * // Docs + monorepo storybooks
241
+ * {
242
+ * name: "deploy",
243
+ * with: {
244
+ * docs: true,
245
+ * storybook: [
246
+ * { name: "web", path: "apps/web" },
247
+ * { name: "ui", path: "packages/ui" },
248
+ * ],
249
+ * },
250
+ * }
251
+ *
252
+ * // Non-standard docs location
253
+ * { name: "deploy", with: { docs: { path: "packages/site" } } }
254
+ * ```
210
255
  *
211
256
  * ### run-chromatic
212
257
  * For a single-project repo, use `"run-chromatic": true` with a
@@ -228,7 +273,7 @@ interface HolocronConfig {
228
273
  *
229
274
  * @example
230
275
  * ["lint", { "name": "release", "with": { "run-build": false } }]
231
- * { "name": "deploy-docs", "with": { "name": "configs" }, "paths": ["packages/configs-docs/**"] }
276
+ * { "name": "deploy", "with": { "docs": true } }
232
277
  */
233
278
  workflows?: Array<string | {
234
279
  name: string;
@@ -389,4 +434,4 @@ interface LoadedConfig {
389
434
  */
390
435
  declare function loadConfig(cwd: string): Promise<LoadedConfig>;
391
436
  //#endregion
392
- export { Analytics, AppConfig, Auth, AuthDescription, AuthError, AuthEvent, AuthEventType, AuthIdentity, AuthUser, CARDINALITY, CapabilityConfigPackage, CapabilityImpls, CapabilityKey, Cardinality, CardinalityFor, ChromaticProjectConfig, Ci, CiRun, CiRunFilter, CiRunStatus, ConfigError, ConfigFileError, ConnectionStringOptions, CreateAuthUserInput, Deployment, DeploymentProject, DeploymentProjectSettings, DeploymentRecord, DeploymentTarget, DeploymentTrigger, Dns, DnsRecord, DnsRecordType, DocsConfig, DoctorConfig, EnsureResult, EnvConfig, EnvLookup, Environment, EnvironmentReviewer, Environments, FeatureResolverConfig, HolocronConfig, Issue, IssueSearchFilter, Issues, LabelDef, LifecycleResult, LifecycleSlot, LoadedConfig, MultiEntry, NormalizedAuthUser, Notifications, Observability, PagesConfig, ParseWebhookInput, ProviderApiError, ProviderIdentity, ProviderOptions, REQUIRED_CAPABILITIES, RawProviderEntry, RawProvidersConfig, RepoConfig, RepoProperties, RepoProtection, RepoRef, RepoSettings, type RequestOptions, ResolveTokenConfig, type ResolveTokenInput, ResolvedCapability, ResolvedHolocronConfig, ResolvedProviderEntry, ResolvedProvidersConfig, ResolvedTuple, type RestClient, type RestClientConfig, Ruleset, SecretScope, Secrets, SingleEntry, Source, StatusCategory, Storage, StorageBranch, TeamEntry, TeamPermission, Tooling, ToolingDoctorReport, TrackerDoctorReport, TrackerUser, Vault, WebhookDashboardInfo, WebhookVerificationError, WorkflowWithConfig, createEnvLookup, createFeatureResolver, createResolveToken, createRestClient, defineConfig, deleteToken, getToken, isMulti, listStoredProviders, loadConfig, resolveConfig, resolveEntry, resolvePluginPackage, setToken };
437
+ export { Analytics, AppConfig, Auth, AuthDescription, AuthError, AuthEvent, AuthEventType, AuthIdentity, AuthUser, CARDINALITY, CapabilityConfigPackage, CapabilityImpls, CapabilityKey, Cardinality, CardinalityFor, ChromaticProjectConfig, Ci, CiRun, CiRunFilter, CiRunStatus, ConfigError, ConfigFileError, ConnectionStringOptions, CreateAuthUserInput, Deployment, DeploymentProject, DeploymentProjectSettings, DeploymentRecord, DeploymentTarget, DeploymentTrigger, Dns, DnsRecord, DnsRecordType, DocsConfig, DoctorConfig, EnsureResult, EnvConfig, EnvLookup, Environment, EnvironmentReviewer, Environments, FeatureResolverConfig, HolocronConfig, Issue, IssueSearchFilter, Issues, LabelDef, LifecycleResult, LifecycleSlot, LoadedConfig, MultiEntry, NormalizedAuthUser, Notifications, Observability, PagesConfig, ParseWebhookInput, ProviderApiError, ProviderIdentity, ProviderOptions, REQUIRED_CAPABILITIES, RawProviderEntry, RawProvidersConfig, RepoConfig, RepoProperties, RepoProtection, RepoRef, RepoSettings, type RequestOptions, ResolveTokenConfig, type ResolveTokenInput, ResolvedCapability, ResolvedHolocronConfig, ResolvedProviderEntry, ResolvedProvidersConfig, ResolvedTuple, type RestClient, type RestClientConfig, Ruleset, SecretScope, Secrets, SingleEntry, Source, StatusCategory, Storage, StorageBranch, StorybookDeployProject, TeamEntry, TeamPermission, Tooling, ToolingDoctorReport, TrackerDoctorReport, TrackerUser, Vault, WebhookDashboardInfo, WebhookVerificationError, WorkflowWithConfig, createEnvLookup, createFeatureResolver, createResolveToken, createRestClient, defineConfig, deleteToken, getToken, isMulti, listStoredProviders, loadConfig, resolveConfig, resolveEntry, resolvePluginPackage, setToken };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theholocron/cli",
3
- "version": "3.21.0",
3
+ "version": "3.22.1",
4
4
  "description": "The Holocron CLI — a pluggable, capability-based orchestrator for spinning up and operating software projects.",
5
5
  "homepage": "https://github.com/theholocron/holocron/tree/main/packages/cli#readme",
6
6
  "bugs": "https://github.com/theholocron/holocron/issues",
@@ -37,23 +37,23 @@
37
37
  "@inquirer/prompts": "^8.5.2",
38
38
  "@napi-rs/keyring": "^1.3.0",
39
39
  "@sentry/node": "^10.69.0",
40
- "@theholocron/github-client": "^1.6.0",
41
- "@theholocron/http-client": "^1.6.0",
40
+ "@theholocron/github-client": "^1.6.2",
41
+ "@theholocron/http-client": "^1.6.6",
42
42
  "chalk": "^6.0.0",
43
43
  "ora": "^9.4.1",
44
44
  "tsx": "4.22.4",
45
45
  "yargs": "^18.1.0"
46
46
  },
47
47
  "devDependencies": {
48
- "@theholocron/eslint-config": "^7.8.1",
49
- "@theholocron/tsconfig": "^7.8.1",
50
- "@theholocron/vitest-config": "^7.8.1",
48
+ "@theholocron/eslint-config": "^7.16.0",
49
+ "@theholocron/tsconfig": "^7.16.0",
50
+ "@theholocron/vitest-config": "^7.16.0",
51
51
  "@types/node": "^26",
52
52
  "@types/yargs": "^17.0.35",
53
53
  "@vitest/coverage-v8": "^4.1.10",
54
- "@vitest/eslint-plugin": "^1.6.25",
55
- "eslint": "^10.8.0",
56
- "eslint-plugin-n": "^18.2.2",
54
+ "@vitest/eslint-plugin": "^1.6.27",
55
+ "eslint": "^10.8.1",
56
+ "eslint-plugin-n": "^18.3.0",
57
57
  "globals": "^17.9.0",
58
58
  "tsdown": "^0.22.14",
59
59
  "typescript": "^5.9.3",