@shutootaki/gwm
Version:
git worktree manager CLI
75 lines • 2.72 kB
TypeScript
/**
* 個別 hook の設定
*/
export interface HookConfig {
/** hook を有効にするかどうか(省略時は true) */
enabled?: boolean;
/** 実行するコマンドの配列 */
commands?: string[];
}
/**
* hooks セクションの設定
*/
export interface HooksConfig {
/** worktree 作成後に実行する hook */
post_create?: HookConfig;
}
export interface Config {
worktree_base_path: string;
main_branches: string[];
/**
* worktree 削除後に同名ローカルブランチを掃除するかどうか
* "auto" | "ask" | "never" (既定: "ask")
*/
clean_branch: 'auto' | 'ask' | 'never';
/**
* gitignoreされたファイルのコピー設定
*/
copy_ignored_files?: {
enabled?: boolean;
patterns?: string[];
exclude_patterns?: string[];
};
/**
* 仮想環境処理の設定
* mode: "skip" (検出したらコピーしない, デフォルト) | "ignore" (スキップしない)
* custom_patterns: 任意の追加パターン
*/
virtual_env_handling?: {
/**
* 仮想環境隔離機能を有効にするかどうか。
* true : 仮想環境ディレクトリをコピーせず、シンボリックリンクを書き換える
* false : 従来通りコピーし、リンクもそのまま
* ※ 旧フィールド mode ("skip"|"ignore") からの後方互換あり。
*/
isolate_virtual_envs?: boolean;
/** @deprecated v0.10 で削除予定。isolate_virtual_envs に置き換え */
mode?: 'skip' | 'ignore';
custom_patterns?: {
language: string;
patterns: string[];
commands?: string[];
}[];
/**
* 1ファイルあたりコピーを許可する最大サイズ (MB)。-1 または未設定で無制限。
* ※ v0.9 以前との互換性のため、旧キー "max_copy_size_mb" も受け付ける。
*/
max_file_size_mb?: number;
/** 1ディレクトリ(合計)でコピーを許可する最大サイズ (MB)。-1 または未設定で無制限。*/
max_dir_size_mb?: number;
/** ディレクトリ走査の最大深さ。-1 で無制限 */
max_scan_depth?: number;
/** コピー処理の並列度。0 で論理 CPU コア数を利用 */
copy_parallelism?: number;
/**
* @deprecated max_file_size_mb に置き換え予定
*/
max_copy_size_mb?: number;
};
/**
* hooks 設定
*/
hooks?: HooksConfig;
}
export type RawParsedConfig = Partial<Record<string, unknown>>;
//# sourceMappingURL=types.d.ts.map