@theholocron/cli 3.5.3 → 3.6.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/README.md +1 -1
- package/dist/capabilities/index.d.mts +21 -1
- package/dist/cli.mjs +38 -4
- package/dist/cli.mjs.map +1 -1
- package/dist/index.d.mts +35 -2
- package/dist/index.mjs +9 -2
- package/package.json +2 -2
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
|
|
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.
|
|
3
|
+
"version": "3.6.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",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@napi-rs/keyring": "^1.3.0",
|
|
38
38
|
"@sentry/node": "^10.69.0",
|
|
39
|
-
"@theholocron/github-client": "^1.
|
|
39
|
+
"@theholocron/github-client": "^1.6.0",
|
|
40
40
|
"@theholocron/http-client": "^1.3.5",
|
|
41
41
|
"chalk": "^6.0.0",
|
|
42
42
|
"ora": "^9.4.1",
|