@sunasteriskrnd/takumi 0.8.1 → 0.10.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 (2) hide show
  1. package/dist/index.js +59 -2
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -21388,7 +21388,7 @@ function normalizeTakumiConfigInput(value) {
21388
21388
  }
21389
21389
  return normalized;
21390
21390
  }
21391
- var PlanValidationModeSchema, PlanFocusAreaSchema, PlanResolutionOrderSchema, ProjectTypeSchema, PackageManagerSchema, FrameworkSchema, GEMINI_MODEL_VALUES, LEGACY_GEMINI_MODEL_ALIASES, GeminiModelSchema, StatuslineModeSchema, StatuslineSectionIdSchema, StatuslineSectionConfigSchema, StatuslineThemeSchema, StatuslineLayoutSchema, CodingLevelSchema, PlanResolutionSchema, PlanValidationSchema, SkPlanConfigSchema, SkDocsConfigSchema, SkPathsConfigSchema, SkLocaleConfigSchema, SkTrustConfigSchema, SkProjectConfigSchema, SkGeminiConfigSchema, SkSkillsConfigSchema, UpdatePipelineSchema, ResolvedModelConfigSchema, ModelTierMapSchema, SkModelTaxonomySchema, SkAssertionSchema, SkHooksConfigSchema, TakumiConfigSchema, DEFAULT_TAKUMI_CONFIG, TAKUMI_HOOK_NAMES;
21391
+ var PlanValidationModeSchema, PlanFocusAreaSchema, PlanResolutionOrderSchema, ProjectTypeSchema, PackageManagerSchema, FrameworkSchema, GEMINI_MODEL_VALUES, LEGACY_GEMINI_MODEL_ALIASES, GeminiModelSchema, StatuslineModeSchema, StatuslineSectionIdSchema, StatuslineSectionConfigSchema, StatuslineThemeSchema, StatuslineLayoutSchema, CodingLevelSchema, PlanResolutionSchema, PlanValidationSchema, SkPlanConfigSchema, SkDocsConfigSchema, SkPathsConfigSchema, SkLocaleConfigSchema, SkTrustConfigSchema, SkGraphifyConfigSchema, SkProjectConfigSchema, SkGeminiConfigSchema, SkSkillsConfigSchema, SkSkillExtensionsConfigSchema, UpdatePipelineSchema, ResolvedModelConfigSchema, ModelTierMapSchema, SkModelTaxonomySchema, SkAssertionSchema, SkHooksConfigSchema, TakumiConfigSchema, DEFAULT_TAKUMI_CONFIG, TAKUMI_HOOK_NAMES;
21392
21392
  var init_takumi_config = __esm(() => {
21393
21393
  init_zod();
21394
21394
  PlanValidationModeSchema = exports_external.enum(["prompt", "auto", "strict", "none"]);
@@ -21510,6 +21510,9 @@ var init_takumi_config = __esm(() => {
21510
21510
  passphrase: exports_external.string().nullable().optional(),
21511
21511
  enabled: exports_external.boolean().optional()
21512
21512
  });
21513
+ SkGraphifyConfigSchema = exports_external.object({
21514
+ enabled: exports_external.boolean().optional()
21515
+ });
21513
21516
  SkProjectConfigSchema = exports_external.object({
21514
21517
  type: ProjectTypeSchema.optional(),
21515
21518
  packageManager: PackageManagerSchema.optional(),
@@ -21523,6 +21526,9 @@ var init_takumi_config = __esm(() => {
21523
21526
  useGemini: exports_external.boolean().optional()
21524
21527
  }).passthrough().optional()
21525
21528
  }).passthrough();
21529
+ SkSkillExtensionsConfigSchema = exports_external.object({
21530
+ sharedDir: exports_external.string().optional()
21531
+ }).passthrough();
21526
21532
  UpdatePipelineSchema = exports_external.object({
21527
21533
  autoInitAfterUpdate: exports_external.boolean().default(false)
21528
21534
  });
@@ -21565,9 +21571,11 @@ var init_takumi_config = __esm(() => {
21565
21571
  paths: SkPathsConfigSchema.optional(),
21566
21572
  locale: SkLocaleConfigSchema.optional(),
21567
21573
  trust: SkTrustConfigSchema.optional(),
21574
+ graphify: SkGraphifyConfigSchema.optional(),
21568
21575
  project: SkProjectConfigSchema.optional(),
21569
21576
  gemini: SkGeminiConfigSchema.optional(),
21570
21577
  skills: SkSkillsConfigSchema.optional(),
21578
+ skillExtensions: SkSkillExtensionsConfigSchema.optional(),
21571
21579
  assertions: exports_external.array(SkAssertionSchema).optional(),
21572
21580
  hooks: SkHooksConfigSchema.optional(),
21573
21581
  updatePipeline: UpdatePipelineSchema.optional(),
@@ -21611,6 +21619,9 @@ var init_takumi_config = __esm(() => {
21611
21619
  passphrase: null,
21612
21620
  enabled: false
21613
21621
  },
21622
+ graphify: {
21623
+ enabled: true
21624
+ },
21614
21625
  project: {
21615
21626
  type: "auto",
21616
21627
  packageManager: "auto",
@@ -21624,6 +21635,9 @@ var init_takumi_config = __esm(() => {
21624
21635
  useGemini: true
21625
21636
  }
21626
21637
  },
21638
+ skillExtensions: {
21639
+ sharedDir: ""
21640
+ },
21627
21641
  assertions: [],
21628
21642
  hooks: {
21629
21643
  "session-init": true,
@@ -59963,6 +59977,46 @@ async function doctorCommand(options2 = {}) {
59963
59977
  }
59964
59978
  }
59965
59979
 
59980
+ // src/commands/graphify/graphify-command.ts
59981
+ init_logger();
59982
+ var FIELD = "graphify.enabled";
59983
+ async function graphifyCommand(action, options2 = {}) {
59984
+ if (options2.global && options2.local) {
59985
+ console.error("Cannot use both --global and --local flags together");
59986
+ process.exitCode = 1;
59987
+ return;
59988
+ }
59989
+ if (action === undefined || action === "status") {
59990
+ return graphifyStatus(options2);
59991
+ }
59992
+ if (action !== "on" && action !== "off") {
59993
+ console.error(`Unknown action: ${action}. Available: on, off, status`);
59994
+ process.exitCode = 1;
59995
+ return;
59996
+ }
59997
+ const enabled = action === "on";
59998
+ const scope = options2.global ? "global" : "project";
59999
+ const projectDir = process.cwd();
60000
+ try {
60001
+ await TakumiConfigManager.updateField(FIELD, enabled, scope, projectDir);
60002
+ logger.success(`Knowledge Graph ${enabled ? "enabled" : "disabled"} (${scope === "project" ? "local" : "global"}) — set ${FIELD} = ${enabled}.`);
60003
+ logger.info(enabled ? "rebuild-spec will build/use the graph; review-code, ask-expert, and scan-codebase use it automatically." : "Skills fall back to normal search until re-enabled with `tkm graphify on`.");
60004
+ } catch (error) {
60005
+ logger.error(`Failed to update ${FIELD}: ${error instanceof Error ? error.message : "Unknown"}`);
60006
+ process.exitCode = 1;
60007
+ }
60008
+ }
60009
+ async function graphifyStatus(options2) {
60010
+ const projectDir = process.cwd();
60011
+ const lookupDir = options2.global ? null : projectDir;
60012
+ const { value, source } = await TakumiConfigManager.getFieldWithSource(FIELD, lookupDir);
60013
+ const enabled = value !== false;
60014
+ if (options2.json) {
60015
+ console.log(JSON.stringify({ field: FIELD, enabled, source }));
60016
+ return;
60017
+ }
60018
+ logger.info(`Knowledge Graph (graphify): ${enabled ? "enabled" : "disabled"} (source: ${source}). Toggle with \`tkm graphify on\` / \`tkm graphify off\`.`);
60019
+ }
59966
60020
  // src/commands/init/init-command.ts
59967
60021
  init_installer_step_ui();
59968
60022
 
@@ -71706,7 +71760,7 @@ var import_fs_extra37 = __toESM(require_lib(), 1);
71706
71760
  // package.json
71707
71761
  var package_default = {
71708
71762
  name: "@sunasteriskrnd/takumi",
71709
- version: "0.8.1",
71763
+ version: "0.10.0",
71710
71764
  description: "CLI tool for bootstrapping and managing Takumi projects",
71711
71765
  type: "module",
71712
71766
  repository: {
@@ -74258,6 +74312,9 @@ function registerCommands(cli) {
74258
74312
  cli.command("config [action] [key] [value]", "Manage Takumi configuration").option("-g, --global", "Use global config (~/.sunagentkit/config.json)").option("-l, --local", "Use local config (.claude/.takumi.json)").option("--json", "Output in JSON format").action(async (action, key, value, options2) => {
74259
74313
  await configCommand(action, key, value, options2);
74260
74314
  });
74315
+ cli.command("graphify [action]", "Toggle the graphify Knowledge Graph: on | off | status").option("-g, --global", "Apply to global config (~/.claude/.takumi.json)").option("-l, --local", "Apply to local config (.claude/.takumi.json)").option("--json", "Output in JSON format (status)").action(async (action, options2) => {
74316
+ await graphifyCommand(action, options2);
74317
+ });
74261
74318
  cli.command("telemetry [action]", "Inspect or control Takumi telemetry").option("--json", "Output in JSON format (status)").option("--yes", "Skip confirmation prompt (purge-remote)").action(async (action, options2) => {
74262
74319
  await telemetryCommand(action, options2);
74263
74320
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sunasteriskrnd/takumi",
3
- "version": "0.8.1",
3
+ "version": "0.10.0",
4
4
  "description": "CLI tool for bootstrapping and managing Takumi projects",
5
5
  "type": "module",
6
6
  "repository": {