@theholocron/cli 3.5.4 → 3.7.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.
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { Analytics, Auth, AuthDescription, AuthEvent, AuthEventType, AuthIdentity, AuthUser, CARDINALITY, CapabilityImpls, CapabilityKey, Cardinality, CardinalityFor, Ci, CiRun, CiRunFilter, CiRunStatus, ConnectionStringOptions, CreateAuthUserInput, Deployment, DeploymentProject, DeploymentProjectSettings, DeploymentRecord, DeploymentTarget, DeploymentTrigger, Dns, DnsRecord, DnsRecordType, EnsureResult, Environment, EnvironmentReviewer, Environments, Issue, IssueSearchFilter, Issues, LabelDef, LifecycleResult, LifecycleSlot, NormalizedAuthUser, Notifications, Observability, ParseWebhookInput, ProviderApiError, ProviderIdentity, REQUIRED_CAPABILITIES, RepoRef, RepoSettings, ResolvedCapability, Ruleset, SecretScope, Secrets, Source, StatusCategory, Storage, StorageBranch, TeamEntry, TeamPermission, Tooling, ToolingDoctorReport, TrackerDoctorReport, TrackerUser, Vault, WebhookDashboardInfo, WebhookVerificationError, isMulti } from "./capabilities/index.mjs";
1
+ import { Analytics, Auth, AuthDescription, AuthEvent, AuthEventType, AuthIdentity, AuthUser, CARDINALITY, CapabilityImpls, CapabilityKey, Cardinality, CardinalityFor, Ci, CiRun, CiRunFilter, CiRunStatus, ConnectionStringOptions, CreateAuthUserInput, Deployment, DeploymentProject, DeploymentProjectSettings, DeploymentRecord, DeploymentTarget, DeploymentTrigger, Dns, DnsRecord, DnsRecordType, EnsureResult, Environment, EnvironmentReviewer, Environments, Issue, IssueSearchFilter, Issues, LabelDef, LifecycleResult, LifecycleSlot, NormalizedAuthUser, Notifications, Observability, PagesConfig, ParseWebhookInput, ProviderApiError, ProviderIdentity, REQUIRED_CAPABILITIES, RepoRef, RepoSettings, ResolvedCapability, Ruleset, SecretScope, Secrets, Source, StatusCategory, Storage, StorageBranch, TeamEntry, TeamPermission, Tooling, ToolingDoctorReport, TrackerDoctorReport, TrackerUser, Vault, WebhookDashboardInfo, WebhookVerificationError, isMulti } from "./capabilities/index.mjs";
2
2
  import { AuthError, RequestOptions, ResolveTokenConfig as ResolveTokenConfig$1, ResolveTokenInput, RestClient, RestClientConfig, createRestClient } from "@theholocron/http-client";
3
3
  //#region src/auth-resolver.d.ts
4
4
  type ResolveTokenConfig = Omit<ResolveTokenConfig$1, "getKeyringToken">;
@@ -44,6 +44,28 @@ type MultiEntry = Array<string | [provider: string, options: ProviderOptions]>;
44
44
  type RawProviderEntry = SingleEntry | MultiEntry;
45
45
  type RawProvidersConfig = Partial<Record<CapabilityKey, RawProviderEntry>>;
46
46
  type RepoProtection = "balanced" | "strict" | "none";
47
+ /**
48
+ * Raw `docs` config as written by the user. `build` is optional so the
49
+ * field can be declared without committing to a build type yet; setup
50
+ * will error if `docs` is present but `build` is absent.
51
+ */
52
+ interface DocsConfig {
53
+ /**
54
+ * GitHub Pages build source.
55
+ * "workflow" → GitHub Actions (PUT { build_type: "workflow" })
56
+ * "branch" → classic gh-pages branch (PUT { build_type: "legacy", source: { branch: "gh-pages", path: "/" } })
57
+ * When absent, Pages is not managed by `holocron setup`.
58
+ */
59
+ build?: "workflow" | "branch";
60
+ /**
61
+ * Custom domain / CNAME (e.g. "docs.theholocron.dev").
62
+ * When set and `homepage` is not explicitly provided, setup derives
63
+ * `homepage` as `https://{domain}/` for package.json and the repo website field.
64
+ */
65
+ domain?: string;
66
+ /** Enforce HTTPS. Only effective once the custom domain is DNS-verified. */
67
+ https?: boolean;
68
+ }
47
69
  interface RepoProperties {
48
70
  lifecycle?: "active" | "experimental" | "deprecated";
49
71
  open_source?: boolean;
@@ -136,6 +158,15 @@ interface HolocronConfig {
136
158
  * ["git-safety", "pr-workflow", "commit-standards"]
137
159
  */
138
160
  skills?: string[];
161
+ /**
162
+ * GitHub Pages configuration. When present, `holocron setup` calls the
163
+ * Pages API using `HOLOCRON_DEPLOY_TOKEN` (requires `pages:write` + `repo` scope).
164
+ * When absent, Pages is left as-is.
165
+ *
166
+ * @example
167
+ * { build: "workflow", domain: "docs.theholocron.dev", https: true }
168
+ */
169
+ docs?: DocsConfig;
139
170
  }
140
171
  interface ResolvedTuple {
141
172
  provider: string;
@@ -166,6 +197,8 @@ interface ResolvedHolocronConfig {
166
197
  doctor: DoctorConfig;
167
198
  agent?: "claude" | "codex" | "gemini";
168
199
  skills?: string[];
200
+ /** Resolved Pages config. `build` is guaranteed present when this field exists. */
201
+ docs?: PagesConfig;
169
202
  }
170
203
  declare class ConfigError extends Error {
171
204
  name: string;
@@ -249,4 +282,4 @@ interface LoadedConfig {
249
282
  */
250
283
  declare function loadConfig(cwd: string): Promise<LoadedConfig>;
251
284
  //#endregion
252
- export { Analytics, AppConfig, Auth, AuthDescription, AuthError, AuthEvent, AuthEventType, AuthIdentity, AuthUser, CARDINALITY, CapabilityConfigPackage, CapabilityImpls, CapabilityKey, Cardinality, CardinalityFor, Ci, CiRun, CiRunFilter, CiRunStatus, ConfigError, ConfigFileError, ConnectionStringOptions, CreateAuthUserInput, Deployment, DeploymentProject, DeploymentProjectSettings, DeploymentRecord, DeploymentTarget, DeploymentTrigger, Dns, DnsRecord, DnsRecordType, DoctorConfig, EnsureResult, EnvLookup, Environment, EnvironmentReviewer, Environments, FeatureResolverConfig, HolocronConfig, Issue, IssueSearchFilter, Issues, LabelDef, LifecycleResult, LifecycleSlot, LoadedConfig, MultiEntry, NormalizedAuthUser, Notifications, Observability, 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, createEnvLookup, createFeatureResolver, createResolveToken, createRestClient, defineConfig, deleteToken, getToken, isMulti, listStoredProviders, loadConfig, resolveConfig, resolveEntry, resolvePluginPackage, setToken };
285
+ export { Analytics, AppConfig, Auth, AuthDescription, AuthError, AuthEvent, AuthEventType, AuthIdentity, AuthUser, CARDINALITY, CapabilityConfigPackage, CapabilityImpls, CapabilityKey, Cardinality, CardinalityFor, Ci, CiRun, CiRunFilter, CiRunStatus, ConfigError, ConfigFileError, ConnectionStringOptions, CreateAuthUserInput, Deployment, DeploymentProject, DeploymentProjectSettings, DeploymentRecord, DeploymentTarget, DeploymentTrigger, Dns, DnsRecord, DnsRecordType, DocsConfig, DoctorConfig, EnsureResult, 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, createEnvLookup, createFeatureResolver, createResolveToken, createRestClient, defineConfig, deleteToken, getToken, isMulti, listStoredProviders, loadConfig, resolveConfig, resolveEntry, resolvePluginPackage, setToken };
package/dist/index.mjs CHANGED
@@ -220,17 +220,24 @@ function resolveConfig(raw) {
220
220
  providers[key] = resolveEntry(key, entry);
221
221
  }
222
222
  for (const required of REQUIRED_CAPABILITIES) if (!providers[required]) throw new ConfigError(`required capability \`${required}\` is missing from providers`);
223
+ let docs;
224
+ if (raw.docs !== void 0) {
225
+ if (!raw.docs.build) throw new ConfigError("`docs.build` is required when `docs` is set");
226
+ docs = raw.docs;
227
+ }
228
+ const homepage = raw.homepage ?? (docs?.domain ? `https://${docs.domain}/` : void 0);
223
229
  return {
224
230
  name: raw.name,
225
231
  description: raw.description,
226
- homepage: raw.homepage,
232
+ homepage,
227
233
  repo: raw.repo,
228
234
  workflows: raw.workflows,
229
235
  providers,
230
236
  apps: raw.apps ?? [],
231
237
  doctor: raw.doctor ?? {},
232
238
  agent: raw.agent,
233
- skills: raw.skills
239
+ skills: raw.skills,
240
+ docs
234
241
  };
235
242
  }
236
243
  //#endregion
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theholocron/cli",
3
- "version": "3.5.4",
3
+ "version": "3.7.0",
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",
@@ -34,9 +34,10 @@
34
34
  "README.md"
35
35
  ],
36
36
  "dependencies": {
37
+ "@inquirer/prompts": "^8.5.2",
37
38
  "@napi-rs/keyring": "^1.3.0",
38
39
  "@sentry/node": "^10.69.0",
39
- "@theholocron/github-client": "^1.3.5",
40
+ "@theholocron/github-client": "^1.6.0",
40
41
  "@theholocron/http-client": "^1.3.5",
41
42
  "chalk": "^6.0.0",
42
43
  "ora": "^9.4.1",