@sunasteriskrnd/takumi 0.8.1 → 0.9.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 +52 -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, 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(),
@@ -21565,6 +21568,7 @@ var init_takumi_config = __esm(() => {
21565
21568
  paths: SkPathsConfigSchema.optional(),
21566
21569
  locale: SkLocaleConfigSchema.optional(),
21567
21570
  trust: SkTrustConfigSchema.optional(),
21571
+ graphify: SkGraphifyConfigSchema.optional(),
21568
21572
  project: SkProjectConfigSchema.optional(),
21569
21573
  gemini: SkGeminiConfigSchema.optional(),
21570
21574
  skills: SkSkillsConfigSchema.optional(),
@@ -21611,6 +21615,9 @@ var init_takumi_config = __esm(() => {
21611
21615
  passphrase: null,
21612
21616
  enabled: false
21613
21617
  },
21618
+ graphify: {
21619
+ enabled: true
21620
+ },
21614
21621
  project: {
21615
21622
  type: "auto",
21616
21623
  packageManager: "auto",
@@ -59963,6 +59970,46 @@ async function doctorCommand(options2 = {}) {
59963
59970
  }
59964
59971
  }
59965
59972
 
59973
+ // src/commands/graphify/graphify-command.ts
59974
+ init_logger();
59975
+ var FIELD = "graphify.enabled";
59976
+ async function graphifyCommand(action, options2 = {}) {
59977
+ if (options2.global && options2.local) {
59978
+ console.error("Cannot use both --global and --local flags together");
59979
+ process.exitCode = 1;
59980
+ return;
59981
+ }
59982
+ if (action === undefined || action === "status") {
59983
+ return graphifyStatus(options2);
59984
+ }
59985
+ if (action !== "on" && action !== "off") {
59986
+ console.error(`Unknown action: ${action}. Available: on, off, status`);
59987
+ process.exitCode = 1;
59988
+ return;
59989
+ }
59990
+ const enabled = action === "on";
59991
+ const scope = options2.global ? "global" : "project";
59992
+ const projectDir = process.cwd();
59993
+ try {
59994
+ await TakumiConfigManager.updateField(FIELD, enabled, scope, projectDir);
59995
+ logger.success(`Knowledge Graph ${enabled ? "enabled" : "disabled"} (${scope === "project" ? "local" : "global"}) — set ${FIELD} = ${enabled}.`);
59996
+ 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`.");
59997
+ } catch (error) {
59998
+ logger.error(`Failed to update ${FIELD}: ${error instanceof Error ? error.message : "Unknown"}`);
59999
+ process.exitCode = 1;
60000
+ }
60001
+ }
60002
+ async function graphifyStatus(options2) {
60003
+ const projectDir = process.cwd();
60004
+ const lookupDir = options2.global ? null : projectDir;
60005
+ const { value, source } = await TakumiConfigManager.getFieldWithSource(FIELD, lookupDir);
60006
+ const enabled = value !== false;
60007
+ if (options2.json) {
60008
+ console.log(JSON.stringify({ field: FIELD, enabled, source }));
60009
+ return;
60010
+ }
60011
+ logger.info(`Knowledge Graph (graphify): ${enabled ? "enabled" : "disabled"} (source: ${source}). Toggle with \`tkm graphify on\` / \`tkm graphify off\`.`);
60012
+ }
59966
60013
  // src/commands/init/init-command.ts
59967
60014
  init_installer_step_ui();
59968
60015
 
@@ -71706,7 +71753,7 @@ var import_fs_extra37 = __toESM(require_lib(), 1);
71706
71753
  // package.json
71707
71754
  var package_default = {
71708
71755
  name: "@sunasteriskrnd/takumi",
71709
- version: "0.8.1",
71756
+ version: "0.9.0",
71710
71757
  description: "CLI tool for bootstrapping and managing Takumi projects",
71711
71758
  type: "module",
71712
71759
  repository: {
@@ -74258,6 +74305,9 @@ function registerCommands(cli) {
74258
74305
  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
74306
  await configCommand(action, key, value, options2);
74260
74307
  });
74308
+ 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) => {
74309
+ await graphifyCommand(action, options2);
74310
+ });
74261
74311
  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
74312
  await telemetryCommand(action, options2);
74263
74313
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sunasteriskrnd/takumi",
3
- "version": "0.8.1",
3
+ "version": "0.9.0",
4
4
  "description": "CLI tool for bootstrapping and managing Takumi projects",
5
5
  "type": "module",
6
6
  "repository": {