From 4a66b6bd15cfc870d812e965d8220c83f76f8e3a Mon Sep 17 00:00:00 2001 From: nrslib <38722970+nrslib@users.noreply.github.com> Date: Mon, 26 Jan 2026 11:55:44 +0900 Subject: [PATCH] =?UTF-8?q?=E3=83=97=E3=83=AD=E3=82=B8=E3=82=A7=E3=82=AF?= =?UTF-8?q?=E3=83=88=E5=88=9D=E6=9C=9F=E5=8C=96=E6=99=82=E3=81=AB.gitignor?= =?UTF-8?q?e=E3=82=92=E5=90=AB=E3=82=81=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/cli.ts | 4 ++++ src/config/initialization.ts | 13 +++++++++++++ 2 files changed, 17 insertions(+) diff --git a/src/cli.ts b/src/cli.ts index 4a6d92c..17f0443 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -17,6 +17,7 @@ import { Command } from 'commander'; import { resolve } from 'node:path'; import { initGlobalDirs, + initProjectDirs, loadGlobalConfig, getEffectiveDebugConfig, } from './config/index.js'; @@ -53,6 +54,9 @@ program // Initialize global directories first await initGlobalDirs(); + // Initialize project directories (.takt/) + initProjectDirs(cwd); + // Initialize debug logger from config const debugConfig = getEffectiveDebugConfig(cwd); initDebugLogger(debugConfig, cwd); diff --git a/src/config/initialization.ts b/src/config/initialization.ts index 97a1ab6..1f6ca4a 100644 --- a/src/config/initialization.ts +++ b/src/config/initialization.ts @@ -14,11 +14,13 @@ import { getGlobalAgentsDir, getGlobalWorkflowsDir, getGlobalLogsDir, + getProjectConfigDir, ensureDir, } from './paths.js'; import { copyGlobalResourcesToDir, copyLanguageResourcesToDir, + copyProjectResourcesToDir, } from '../resources/index.js'; import { setLanguage } from './globalConfig.js'; @@ -74,3 +76,14 @@ export async function initGlobalDirs(): Promise { copyGlobalResourcesToDir(getGlobalConfigDir()); } } + +/** + * Initialize project-level .takt directory. + * Creates .takt/ and copies project resources (e.g., .gitignore). + * Only copies files that don't exist. + */ +export function initProjectDirs(projectDir: string): void { + const configDir = getProjectConfigDir(projectDir); + ensureDir(configDir); + copyProjectResourcesToDir(configDir); +}