@theholocron/cli 4.12.2 → 4.14.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
@@ -87,6 +87,26 @@ interface LogConfig {
87
87
  dataset?: string;
88
88
  };
89
89
  }
90
+ /**
91
+ * CLI self-telemetry config — the committed, reviewable override layer over the
92
+ * env-var + shipped-fallback activation (ADR-0007 / ADR-0008). No secret lives
93
+ * here; the Sentry DSN and PostHog key come from env vars or ship as fallbacks.
94
+ *
95
+ * Precedence: `HOLOCRON_TELEMETRY=false` (env) → `telemetry.enabled` (this) →
96
+ * default on. `enabled` never *re-enables* what the env var turned off.
97
+ */
98
+ interface TelemetryConfig {
99
+ /**
100
+ * Repo-level opt-out — the committed peer of `HOLOCRON_TELEMETRY=false`.
101
+ * `false` installs the no-op sinks for the whole run. Default on.
102
+ */
103
+ enabled?: boolean;
104
+ /**
105
+ * Usage-analytics provider. `"none"` disables PostHog usage analytics while
106
+ * leaving error reporting (Sentry) untouched. Default `"posthog"`.
107
+ */
108
+ analytics?: "posthog" | "none";
109
+ }
90
110
  type ProviderOptions = Record<string, unknown>;
91
111
  /**
92
112
  * The shape a capability config package's default export must satisfy.
@@ -444,6 +464,16 @@ interface HolocronConfig {
444
464
  * { level: "debug" }
445
465
  */
446
466
  log?: LogConfig;
467
+ /**
468
+ * CLI self-telemetry override layer. Env var (`HOLOCRON_TELEMETRY=false`)
469
+ * still wins; this is the committed way to opt a repo out or drop usage
470
+ * analytics while keeping error reporting.
471
+ *
472
+ * @example
473
+ * { enabled: false }
474
+ * { analytics: "none" }
475
+ */
476
+ telemetry?: TelemetryConfig;
447
477
  }
448
478
  interface ResolvedTuple {
449
479
  provider: string;
@@ -482,6 +512,7 @@ interface ResolvedHolocronConfig {
482
512
  docs?: PagesConfig;
483
513
  env?: EnvConfig;
484
514
  log?: LogConfig;
515
+ telemetry?: TelemetryConfig;
485
516
  }
486
517
  declare class ConfigError extends Error {
487
518
  name: string;
@@ -573,4 +604,4 @@ interface LoadedConfig {
573
604
  */
574
605
  declare function loadConfig(cwd: string): Promise<LoadedConfig>;
575
606
  //#endregion
576
- export { Analytics, AppConfig, Auth, AuthDescription, AuthError, AuthEvent, AuthEventType, AuthIdentity, AuthUser, CARDINALITY, Capability, CapabilityConfigPackage, CapabilityImpls, CapabilityKey, Cardinality, CardinalityFor, ChromaticProjectConfig, Ci, CiRun, CiRunFilter, CiRunStatus, ComposedPreset, ConfigError, ConfigFileError, ConnectionStringOptions, CreateAuthUserInput, Deployment, DeploymentProject, DeploymentProjectSettings, DeploymentRecord, DeploymentTarget, DeploymentTrigger, Dns, DnsRecord, DnsRecordType, DocsConfig, DoctorConfig, EnsureResult, EnvConfig, Environment, EnvironmentReviewer, Environments, Errors, FeatureResolverConfig, HolocronConfig, Issue, IssueSearchFilter, Issues, LabelDef, LifecycleResult, LifecycleSlot, LoadedConfig, LogConfig, Logs, MultiEntry, NormalizedAuthUser, Notifications, PagesConfig, ParseWebhookInput, ProviderApiError, ProviderIdentity, ProviderOptions, PullRequest, 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, TaskEntryConfig, TeamEntry, TeamPermission, Tooling, ToolingDoctorReport, TrackerDoctorReport, TrackerUser, Vault, WebhookDashboardInfo, WebhookVerificationError, Wiki, WikiDnsRecord, WikiProvisionOpts, WikiProxyConfig, Workers, WorkflowWithConfig, compose, createFeatureResolver, createResolveToken, createRestClient, defineConfig, deleteToken, getToken, isMulti, listStoredProviders, loadConfig, resolveConfig, resolveEntry, resolvePluginPackage, setToken };
607
+ export { Analytics, AppConfig, Auth, AuthDescription, AuthError, AuthEvent, AuthEventType, AuthIdentity, AuthUser, CARDINALITY, Capability, CapabilityConfigPackage, CapabilityImpls, CapabilityKey, Cardinality, CardinalityFor, ChromaticProjectConfig, Ci, CiRun, CiRunFilter, CiRunStatus, ComposedPreset, ConfigError, ConfigFileError, ConnectionStringOptions, CreateAuthUserInput, Deployment, DeploymentProject, DeploymentProjectSettings, DeploymentRecord, DeploymentTarget, DeploymentTrigger, Dns, DnsRecord, DnsRecordType, DocsConfig, DoctorConfig, EnsureResult, EnvConfig, Environment, EnvironmentReviewer, Environments, Errors, FeatureResolverConfig, HolocronConfig, Issue, IssueSearchFilter, Issues, LabelDef, LifecycleResult, LifecycleSlot, LoadedConfig, LogConfig, Logs, MultiEntry, NormalizedAuthUser, Notifications, PagesConfig, ParseWebhookInput, ProviderApiError, ProviderIdentity, ProviderOptions, PullRequest, 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, TaskEntryConfig, TeamEntry, TeamPermission, TelemetryConfig, Tooling, ToolingDoctorReport, TrackerDoctorReport, TrackerUser, Vault, WebhookDashboardInfo, WebhookVerificationError, Wiki, WikiDnsRecord, WikiProvisionOpts, WikiProxyConfig, Workers, WorkflowWithConfig, compose, createFeatureResolver, createResolveToken, createRestClient, defineConfig, deleteToken, getToken, isMulti, listStoredProviders, loadConfig, resolveConfig, resolveEntry, resolvePluginPackage, setToken };
package/dist/index.mjs CHANGED
@@ -6,6 +6,7 @@ import { execFile } from "node:child_process";
6
6
  import { readFile } from "node:fs/promises";
7
7
  import { basename, dirname, join } from "node:path";
8
8
  import { promisify } from "node:util";
9
+ import { loadTasksConfig } from "@theholocron/astromech/config";
9
10
  import { ConfigFileError, ConfigFileError as ConfigFileError$1, loadConfigFile } from "@theholocron/datapad";
10
11
  createEnvLookup();
11
12
  /**
@@ -215,7 +216,8 @@ function resolveConfig(raw) {
215
216
  skills: raw.skills,
216
217
  docs,
217
218
  env: raw.env,
218
- log: raw.log
219
+ log: raw.log,
220
+ telemetry: raw.telemetry
219
221
  };
220
222
  }
221
223
  //#endregion
@@ -351,6 +353,12 @@ async function deriveDefaults(configDir, raw) {
351
353
  name: repoName
352
354
  };
353
355
  }
356
+ const manifest = await loadTasksConfig(configDir);
357
+ if (manifest.tasks) result.tasks = manifest.tasks;
358
+ if (manifest.syncScripts !== void 0) result.syncScripts = manifest.syncScripts;
359
+ if (manifest.holocronScript !== void 0) result.holocronScript = manifest.holocronScript;
360
+ if (manifest.hooks !== void 0) result.hooks = manifest.hooks;
361
+ if (manifest.extraRequiredChecks) result.extraRequiredChecks = [...result.extraRequiredChecks ?? [], ...manifest.extraRequiredChecks];
354
362
  return result;
355
363
  }
356
364
  async function readPackageJsonName(dir) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theholocron/cli",
3
- "version": "4.12.2",
3
+ "version": "4.14.0",
4
4
  "description": "The Holocron CLI - a pluggable, capability-based orchestrator for spinning up and operating software projects.",
5
5
  "keywords": [
6
6
  "cli",
@@ -52,9 +52,9 @@
52
52
  "ora": "^9.4.1",
53
53
  "posthog-node": "^5.51.6",
54
54
  "yargs": "^18.1.0",
55
- "@theholocron/astromech": "4.12.2",
56
- "@theholocron/datapad": "4.12.2",
57
- "@theholocron/logger": "4.12.2"
55
+ "@theholocron/astromech": "4.14.0",
56
+ "@theholocron/logger": "4.14.0",
57
+ "@theholocron/datapad": "4.14.0"
58
58
  },
59
59
  "devDependencies": {
60
60
  "@theholocron/eslint-config": "^8.0.0",
@@ -71,7 +71,7 @@
71
71
  "tsx": "4.23.12",
72
72
  "typescript": "^5.9.3",
73
73
  "vitest": "^4.1.11",
74
- "@theholocron/rollup-plugin-transform-template": "4.12.2"
74
+ "@theholocron/rollup-plugin-transform-template": "4.14.0"
75
75
  },
76
76
  "engines": {
77
77
  "node": ">=22.0.0"