@tsuzuku/arise 1.1.0 → 1.2.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/types.d.ts CHANGED
@@ -6,12 +6,17 @@
6
6
  */
7
7
 
8
8
  export interface CliFlags {
9
+ interactive: boolean;
10
+ isInit: boolean;
11
+ quick: boolean;
9
12
  isCleanup: boolean;
10
13
  cleanupTarget: string | null;
11
14
  dirOnly: boolean;
12
15
  keepRemote: boolean;
13
16
  force: boolean;
14
17
  yes: boolean;
18
+ debug: boolean;
19
+ verbose: boolean;
15
20
  branch: string | null;
16
21
  dirname: string | null;
17
22
  workspaceName: string | null;
@@ -21,6 +26,8 @@ export interface CliFlags {
21
26
  focusTarget: string | null;
22
27
  installSkill: boolean;
23
28
  skillScope: 'global' | 'local' | null;
29
+ targetPath: string | null;
30
+ gitignore: boolean | null;
24
31
  showHelp: boolean;
25
32
  showVersion: boolean;
26
33
  rawArgs: string[];
@@ -155,3 +162,42 @@ export interface WorktreeConfig {
155
162
  /** Path to config file that was loaded (if any) */
156
163
  configFile?: string | null;
157
164
  }
165
+
166
+ export interface InitWizardOptions {
167
+ quick?: boolean;
168
+ local?: boolean;
169
+ global?: boolean;
170
+ targetPath?: string;
171
+ cwd?: string;
172
+ force?: boolean;
173
+ gitignore?: boolean | null;
174
+ addToGitignore?: boolean | null;
175
+ }
176
+
177
+ export interface SelectOption<T = string> {
178
+ label: string;
179
+ value: T;
180
+ hint?: string;
181
+ description?: string;
182
+ }
183
+
184
+ export interface MultiSelectOption<T = string> {
185
+ label: string;
186
+ value: T;
187
+ hint?: string;
188
+ description?: string;
189
+ selected?: boolean;
190
+ }
191
+
192
+ export interface PromptTextOptions {
193
+ message?: string;
194
+ question?: string;
195
+ defaultValue?: string;
196
+ validate?: (val: string) => boolean | string;
197
+ completer?: import('readline').Completer | 'path' | 'dir';
198
+ }
199
+
200
+ export declare class ConfigInitWizard {
201
+ static run(options?: InitWizardOptions): Promise<string | null>;
202
+ }
203
+
@@ -1,130 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
3
- "title": "HerdrWorktreeConfig",
4
- "description": "Configuration schema for Herdr Worktree (.worktreerc.json)",
5
- "type": "object",
6
- "properties": {
7
- "preset": {
8
- "type": "string",
9
- "description": "Preset name to use ('node', 'laravel', 'generic' or custom registered preset)"
10
- },
11
- "repo": {
12
- "type": "object",
13
- "description": "Repository topology and branch configuration",
14
- "properties": {
15
- "bareRepo": {
16
- "type": ["string", "null"],
17
- "description": "Path to bare git repository (e.g. '/path/to/bare/repo.git')"
18
- },
19
- "worktreesBase": {
20
- "type": ["string", "null"],
21
- "description": "Base directory where worktrees should be placed (e.g. '/path/to/worktrees')"
22
- },
23
- "defaultBaseBranch": {
24
- "type": "string",
25
- "description": "Default base branch to branch off (e.g. 'develop', 'prod', 'main')"
26
- },
27
- "protectedBranches": {
28
- "type": "array",
29
- "items": { "type": "string" },
30
- "description": "Array of branch names protected against deletion during --nuke"
31
- }
32
- },
33
- "additionalProperties": false
34
- },
35
- "workspace": {
36
- "type": "object",
37
- "description": "Herdr workspace naming, agent, and focus configuration",
38
- "properties": {
39
- "labelPrefix": {
40
- "type": "string",
41
- "description": "Prefix added to Herdr workspace labels (e.g. '[BE] ')"
42
- },
43
- "agent": {
44
- "type": ["string", "object", "null"],
45
- "description": "CLI AI agent to run in the workspace pane ('agy', 'claude', 'aider', 'copilot', 'none', or custom command object)",
46
- "properties": {
47
- "cmd": {
48
- "type": ["string", "null"],
49
- "description": "Command to execute the agent"
50
- },
51
- "title": {
52
- "type": "string",
53
- "description": "Display title for the agent pane in Herdr"
54
- }
55
- }
56
- },
57
- "defaultFocus": {
58
- "type": "string",
59
- "description": "Default pane to focus upon creation ('agent', 'agy', 'claude', 'vim', 'logs', 'server', 'shell')"
60
- }
61
- },
62
- "additionalProperties": false
63
- },
64
- "layout": {
65
- "type": "array",
66
- "description": "Declarative 4-pane quadrant layout definitions",
67
- "items": {
68
- "type": "object",
69
- "required": ["id", "title"],
70
- "properties": {
71
- "id": {
72
- "type": "string",
73
- "description": "Unique identifier for this pane within the layout"
74
- },
75
- "title": {
76
- "type": "string",
77
- "description": "Title displayed on the Herdr pane"
78
- },
79
- "cmd": {
80
- "type": ["string", "null"],
81
- "description": "Command to run when pane is opened (e.g. 'vim .', 'npm run dev', 'tail -f ...')"
82
- },
83
- "position": {
84
- "type": "string",
85
- "enum": ["root"],
86
- "description": "Set to 'root' for the initial root pane"
87
- },
88
- "from": {
89
- "type": "string",
90
- "description": "ID of parent pane to split from"
91
- },
92
- "split": {
93
- "type": "string",
94
- "enum": ["right", "down"],
95
- "description": "Split direction ('right' or 'down')"
96
- },
97
- "focus": {
98
- "type": "boolean",
99
- "description": "Whether this pane should receive focus by default"
100
- },
101
- "isAgent": {
102
- "type": "boolean",
103
- "description": "Whether this pane is designated as the AI CLI agent pane"
104
- }
105
- },
106
- "additionalProperties": false
107
- }
108
- },
109
- "scaffold": {
110
- "type": "object",
111
- "description": "Scaffolding options (environment files, symlinks, dependency installation, etc.)",
112
- "properties": {
113
- "envSource": {
114
- "type": ["string", "null"],
115
- "description": "Path to .env source file to copy into new worktree"
116
- },
117
- "symlink": {
118
- "type": ["string", "null"],
119
- "description": "Path to web server symlink to update to active worktree"
120
- },
121
- "install": {
122
- "type": ["string", "boolean", "null"],
123
- "description": "Command to run to install dependencies upon creation (e.g. 'npm install --legacy-peer-deps', 'pnpm install', 'composer install --no-interaction'), or false/null to skip installation."
124
- }
125
- },
126
- "additionalProperties": true
127
- }
128
- },
129
- "additionalProperties": false
130
- }