@ariacode/cli 0.1.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/LICENSE +21 -0
- package/README.md +404 -0
- package/dist/actions.d.ts +271 -0
- package/dist/actions.js +1809 -0
- package/dist/actions.js.map +1 -0
- package/dist/agent.d.ts +26 -0
- package/dist/agent.js +182 -0
- package/dist/agent.js.map +1 -0
- package/dist/app.d.ts +14 -0
- package/dist/app.js +83 -0
- package/dist/app.js.map +1 -0
- package/dist/cli.d.ts +12 -0
- package/dist/cli.js +157 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +170 -0
- package/dist/config.js +291 -0
- package/dist/config.js.map +1 -0
- package/dist/context.d.ts +58 -0
- package/dist/context.js +44 -0
- package/dist/context.js.map +1 -0
- package/dist/parser.d.ts +39 -0
- package/dist/parser.js +323 -0
- package/dist/parser.js.map +1 -0
- package/dist/prompts/ask.md +20 -0
- package/dist/prompts/explore.md +38 -0
- package/dist/prompts/patch.md +27 -0
- package/dist/prompts/plan.md +41 -0
- package/dist/prompts/prompts/ask.md +20 -0
- package/dist/prompts/prompts/explore.md +38 -0
- package/dist/prompts/prompts/patch.md +27 -0
- package/dist/prompts/prompts/plan.md +41 -0
- package/dist/prompts/prompts/review.md +33 -0
- package/dist/prompts/review.md +33 -0
- package/dist/provider.d.ts +148 -0
- package/dist/provider.js +486 -0
- package/dist/provider.js.map +1 -0
- package/dist/repo.d.ts +22 -0
- package/dist/repo.js +154 -0
- package/dist/repo.js.map +1 -0
- package/dist/safety.d.ts +48 -0
- package/dist/safety.js +140 -0
- package/dist/safety.js.map +1 -0
- package/dist/storage.d.ts +133 -0
- package/dist/storage.js +300 -0
- package/dist/storage.js.map +1 -0
- package/dist/tools.d.ts +70 -0
- package/dist/tools.js +654 -0
- package/dist/tools.js.map +1 -0
- package/dist/ui.d.ts +203 -0
- package/dist/ui.js +410 -0
- package/dist/ui.js.map +1 -0
- package/package.json +73 -0
package/dist/parser.js
ADDED
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI argument parsing and validation — extracted for testability.
|
|
3
|
+
* This module has no side effects and does not call process.exit directly.
|
|
4
|
+
*/
|
|
5
|
+
import pc from "picocolors";
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
// Usage strings
|
|
8
|
+
// ---------------------------------------------------------------------------
|
|
9
|
+
export const GLOBAL_USAGE = `
|
|
10
|
+
${pc.bold("aria")} - A predictable coding agent for Next.js, Nest.js, Prisma, and Node.js projects.
|
|
11
|
+
|
|
12
|
+
${pc.bold("USAGE:")}
|
|
13
|
+
aria <command> [options]
|
|
14
|
+
|
|
15
|
+
${pc.bold("COMMANDS:")}
|
|
16
|
+
ask <question> Ask a question about the repository
|
|
17
|
+
plan <goal> Generate an implementation plan
|
|
18
|
+
patch <description> Generate and apply a code patch
|
|
19
|
+
review Review staged git changes
|
|
20
|
+
explore Explore repository structure
|
|
21
|
+
history View session history
|
|
22
|
+
config Manage configuration
|
|
23
|
+
doctor Check environment and project detection
|
|
24
|
+
|
|
25
|
+
${pc.bold("GLOBAL OPTIONS:")}
|
|
26
|
+
--dry-run Preview changes without applying them
|
|
27
|
+
--yes Skip confirmation prompts
|
|
28
|
+
--session <id> Resume or reference a session
|
|
29
|
+
--quiet Suppress non-essential output
|
|
30
|
+
--format <text|json> Output format (default: text)
|
|
31
|
+
--help, -h Show this help message
|
|
32
|
+
--version, -v Show version number
|
|
33
|
+
`;
|
|
34
|
+
export const COMMAND_USAGE = {
|
|
35
|
+
ask: `
|
|
36
|
+
${pc.bold("USAGE:")}
|
|
37
|
+
aria ask <question> [options]
|
|
38
|
+
|
|
39
|
+
${pc.bold("ARGUMENTS:")}
|
|
40
|
+
<question> The question to ask about the repository (required)
|
|
41
|
+
|
|
42
|
+
${pc.bold("OPTIONS:")}
|
|
43
|
+
--session <id> Resume an existing session
|
|
44
|
+
--max-tokens <n> Maximum tokens for the response
|
|
45
|
+
--quiet Suppress non-essential output
|
|
46
|
+
`,
|
|
47
|
+
plan: `
|
|
48
|
+
${pc.bold("USAGE:")}
|
|
49
|
+
aria plan <goal> [options]
|
|
50
|
+
|
|
51
|
+
${pc.bold("ARGUMENTS:")}
|
|
52
|
+
<goal> The implementation goal (required)
|
|
53
|
+
|
|
54
|
+
${pc.bold("OPTIONS:")}
|
|
55
|
+
--session <id> Resume an existing session
|
|
56
|
+
--output <path> Save plan to file at specified path
|
|
57
|
+
`,
|
|
58
|
+
patch: `
|
|
59
|
+
${pc.bold("USAGE:")}
|
|
60
|
+
aria patch <description> [options]
|
|
61
|
+
|
|
62
|
+
${pc.bold("ARGUMENTS:")}
|
|
63
|
+
<description> Description of the patch to apply (required)
|
|
64
|
+
|
|
65
|
+
${pc.bold("OPTIONS:")}
|
|
66
|
+
--dry-run Preview changes without applying them
|
|
67
|
+
--yes Skip confirmation prompt
|
|
68
|
+
--session <id> Resume an existing session
|
|
69
|
+
`,
|
|
70
|
+
review: `
|
|
71
|
+
${pc.bold("USAGE:")}
|
|
72
|
+
aria review [options]
|
|
73
|
+
|
|
74
|
+
${pc.bold("OPTIONS:")}
|
|
75
|
+
--unstaged Review unstaged changes instead of staged
|
|
76
|
+
--branch <base> Compare current branch to specified base branch
|
|
77
|
+
--format <text|json> Output format (default: text)
|
|
78
|
+
`,
|
|
79
|
+
explore: `
|
|
80
|
+
${pc.bold("USAGE:")}
|
|
81
|
+
aria explore [options]
|
|
82
|
+
|
|
83
|
+
${pc.bold("OPTIONS:")}
|
|
84
|
+
--depth <n> Limit directory traversal depth
|
|
85
|
+
--save Save exploration summary to ./.aria/explore.md
|
|
86
|
+
`,
|
|
87
|
+
history: `
|
|
88
|
+
${pc.bold("USAGE:")}
|
|
89
|
+
aria history [options]
|
|
90
|
+
|
|
91
|
+
${pc.bold("OPTIONS:")}
|
|
92
|
+
--limit <n> Limit number of results
|
|
93
|
+
--session <id> Show full log for a specific session
|
|
94
|
+
--tree Render tool execution tree
|
|
95
|
+
`,
|
|
96
|
+
config: `
|
|
97
|
+
${pc.bold("USAGE:")}
|
|
98
|
+
aria config [subcommand] [options]
|
|
99
|
+
|
|
100
|
+
${pc.bold("SUBCOMMANDS:")}
|
|
101
|
+
get <key> Display value for a configuration key
|
|
102
|
+
set <key> <value> Write a key-value pair to user config
|
|
103
|
+
path Display configuration file paths
|
|
104
|
+
init Create ./.aria.toml with default values
|
|
105
|
+
|
|
106
|
+
${pc.bold("OPTIONS:")}
|
|
107
|
+
--dry-run Preview changes without writing
|
|
108
|
+
--yes Skip confirmation prompt
|
|
109
|
+
`,
|
|
110
|
+
doctor: `
|
|
111
|
+
${pc.bold("USAGE:")}
|
|
112
|
+
aria doctor [options]
|
|
113
|
+
|
|
114
|
+
${pc.bold("OPTIONS:")}
|
|
115
|
+
--format <text|json> Output format (default: text)
|
|
116
|
+
`,
|
|
117
|
+
};
|
|
118
|
+
// ---------------------------------------------------------------------------
|
|
119
|
+
// Parser
|
|
120
|
+
// ---------------------------------------------------------------------------
|
|
121
|
+
/**
|
|
122
|
+
* Parse an argv array into a typed ParsedArgs object.
|
|
123
|
+
* Requirements: 2.1, 2.2, 2.3, 2.4, 2.7, 2.8
|
|
124
|
+
*/
|
|
125
|
+
export function parseCLI(argv = process.argv.slice(2)) {
|
|
126
|
+
const args = {
|
|
127
|
+
command: null,
|
|
128
|
+
dryRun: false,
|
|
129
|
+
assumeYes: false,
|
|
130
|
+
quiet: false,
|
|
131
|
+
format: "text",
|
|
132
|
+
};
|
|
133
|
+
const tokens = [...argv];
|
|
134
|
+
const positionals = [];
|
|
135
|
+
let i = 0;
|
|
136
|
+
while (i < tokens.length) {
|
|
137
|
+
const token = tokens[i];
|
|
138
|
+
if (token === "--dry-run") {
|
|
139
|
+
args.dryRun = true;
|
|
140
|
+
}
|
|
141
|
+
else if (token === "--yes" || token === "-y") {
|
|
142
|
+
args.assumeYes = true;
|
|
143
|
+
}
|
|
144
|
+
else if (token === "--quiet" || token === "-q") {
|
|
145
|
+
args.quiet = true;
|
|
146
|
+
}
|
|
147
|
+
else if (token === "--session") {
|
|
148
|
+
i++;
|
|
149
|
+
args.session = tokens[i];
|
|
150
|
+
}
|
|
151
|
+
else if (token.startsWith("--session=")) {
|
|
152
|
+
args.session = token.slice("--session=".length);
|
|
153
|
+
}
|
|
154
|
+
else if (token === "--format") {
|
|
155
|
+
i++;
|
|
156
|
+
args.format = tokens[i];
|
|
157
|
+
}
|
|
158
|
+
else if (token.startsWith("--format=")) {
|
|
159
|
+
args.format = token.slice("--format=".length);
|
|
160
|
+
}
|
|
161
|
+
else if (token === "--max-tokens") {
|
|
162
|
+
i++;
|
|
163
|
+
args.maxTokens = parseInt(tokens[i], 10);
|
|
164
|
+
}
|
|
165
|
+
else if (token.startsWith("--max-tokens=")) {
|
|
166
|
+
args.maxTokens = parseInt(token.slice("--max-tokens=".length), 10);
|
|
167
|
+
}
|
|
168
|
+
else if (token === "--output") {
|
|
169
|
+
i++;
|
|
170
|
+
args.output = tokens[i];
|
|
171
|
+
}
|
|
172
|
+
else if (token.startsWith("--output=")) {
|
|
173
|
+
args.output = token.slice("--output=".length);
|
|
174
|
+
}
|
|
175
|
+
else if (token === "--unstaged") {
|
|
176
|
+
args.unstaged = true;
|
|
177
|
+
}
|
|
178
|
+
else if (token === "--branch") {
|
|
179
|
+
i++;
|
|
180
|
+
args.branch = tokens[i];
|
|
181
|
+
}
|
|
182
|
+
else if (token.startsWith("--branch=")) {
|
|
183
|
+
args.branch = token.slice("--branch=".length);
|
|
184
|
+
}
|
|
185
|
+
else if (token === "--depth") {
|
|
186
|
+
i++;
|
|
187
|
+
args.depth = parseInt(tokens[i], 10);
|
|
188
|
+
}
|
|
189
|
+
else if (token.startsWith("--depth=")) {
|
|
190
|
+
args.depth = parseInt(token.slice("--depth=".length), 10);
|
|
191
|
+
}
|
|
192
|
+
else if (token === "--save") {
|
|
193
|
+
args.save = true;
|
|
194
|
+
}
|
|
195
|
+
else if (token === "--limit") {
|
|
196
|
+
i++;
|
|
197
|
+
args.limit = parseInt(tokens[i], 10);
|
|
198
|
+
}
|
|
199
|
+
else if (token.startsWith("--limit=")) {
|
|
200
|
+
args.limit = parseInt(token.slice("--limit=".length), 10);
|
|
201
|
+
}
|
|
202
|
+
else if (token === "--tree") {
|
|
203
|
+
args.tree = true;
|
|
204
|
+
}
|
|
205
|
+
else if (token === "--help" || token === "-h") {
|
|
206
|
+
positionals.unshift("--help");
|
|
207
|
+
}
|
|
208
|
+
else if (token === "--version" || token === "-v") {
|
|
209
|
+
positionals.unshift("--version");
|
|
210
|
+
}
|
|
211
|
+
else if (token.startsWith("-")) {
|
|
212
|
+
positionals.push(token);
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
positionals.push(token);
|
|
216
|
+
}
|
|
217
|
+
i++;
|
|
218
|
+
}
|
|
219
|
+
if (positionals.length > 0) {
|
|
220
|
+
args.command = positionals[0];
|
|
221
|
+
}
|
|
222
|
+
switch (args.command) {
|
|
223
|
+
case "ask":
|
|
224
|
+
if (positionals[1])
|
|
225
|
+
args.question = positionals[1];
|
|
226
|
+
break;
|
|
227
|
+
case "plan":
|
|
228
|
+
if (positionals[1])
|
|
229
|
+
args.goal = positionals[1];
|
|
230
|
+
break;
|
|
231
|
+
case "patch":
|
|
232
|
+
if (positionals[1])
|
|
233
|
+
args.description = positionals[1];
|
|
234
|
+
break;
|
|
235
|
+
case "config": {
|
|
236
|
+
const sub = positionals[1];
|
|
237
|
+
if (sub === "get" || sub === "set" || sub === "path" || sub === "init") {
|
|
238
|
+
args.configSubcommand = sub;
|
|
239
|
+
if (sub === "get" && positionals[2]) {
|
|
240
|
+
args.configKey = positionals[2];
|
|
241
|
+
}
|
|
242
|
+
else if (sub === "set") {
|
|
243
|
+
if (positionals[2])
|
|
244
|
+
args.configKey = positionals[2];
|
|
245
|
+
if (positionals[3])
|
|
246
|
+
args.configValue = positionals[3];
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
break;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
return args;
|
|
253
|
+
}
|
|
254
|
+
// ---------------------------------------------------------------------------
|
|
255
|
+
// Validation
|
|
256
|
+
// ---------------------------------------------------------------------------
|
|
257
|
+
/**
|
|
258
|
+
* Validate parsed arguments.
|
|
259
|
+
* Calls process.exit(2) on invalid arguments.
|
|
260
|
+
* Requirements: 2.5, 2.6
|
|
261
|
+
*/
|
|
262
|
+
export function validateArgs(args) {
|
|
263
|
+
const fail = (message, command) => {
|
|
264
|
+
console.error(pc.red(`Error: ${message}`));
|
|
265
|
+
const usage = command ? COMMAND_USAGE[command] : GLOBAL_USAGE;
|
|
266
|
+
if (usage)
|
|
267
|
+
console.error(usage);
|
|
268
|
+
process.exit(2);
|
|
269
|
+
};
|
|
270
|
+
if (args.format !== "text" && args.format !== "json") {
|
|
271
|
+
fail(`--format must be "text" or "json", got "${args.format}"`);
|
|
272
|
+
}
|
|
273
|
+
if (args.maxTokens !== undefined &&
|
|
274
|
+
(isNaN(args.maxTokens) || args.maxTokens <= 0)) {
|
|
275
|
+
fail("--max-tokens must be a positive integer", "ask");
|
|
276
|
+
}
|
|
277
|
+
if (args.depth !== undefined && (isNaN(args.depth) || args.depth <= 0)) {
|
|
278
|
+
fail("--depth must be a positive integer", "explore");
|
|
279
|
+
}
|
|
280
|
+
if (args.limit !== undefined && (isNaN(args.limit) || args.limit <= 0)) {
|
|
281
|
+
fail("--limit must be a positive integer", "history");
|
|
282
|
+
}
|
|
283
|
+
switch (args.command) {
|
|
284
|
+
case "ask":
|
|
285
|
+
if (!args.question) {
|
|
286
|
+
fail("ask requires a <question> argument", "ask");
|
|
287
|
+
}
|
|
288
|
+
break;
|
|
289
|
+
case "plan":
|
|
290
|
+
if (!args.goal) {
|
|
291
|
+
fail("plan requires a <goal> argument", "plan");
|
|
292
|
+
}
|
|
293
|
+
break;
|
|
294
|
+
case "patch":
|
|
295
|
+
if (!args.description) {
|
|
296
|
+
fail("patch requires a <description> argument", "patch");
|
|
297
|
+
}
|
|
298
|
+
break;
|
|
299
|
+
case "config":
|
|
300
|
+
if (args.configSubcommand === "get" && !args.configKey) {
|
|
301
|
+
fail("config get requires a <key> argument", "config");
|
|
302
|
+
}
|
|
303
|
+
if (args.configSubcommand === "set" &&
|
|
304
|
+
(!args.configKey || args.configValue === undefined)) {
|
|
305
|
+
fail("config set requires <key> and <value> arguments", "config");
|
|
306
|
+
}
|
|
307
|
+
break;
|
|
308
|
+
case "review":
|
|
309
|
+
case "explore":
|
|
310
|
+
case "history":
|
|
311
|
+
case "doctor":
|
|
312
|
+
case null:
|
|
313
|
+
case "--help":
|
|
314
|
+
case "--version":
|
|
315
|
+
break;
|
|
316
|
+
default:
|
|
317
|
+
if (args.command && !args.command.startsWith("-")) {
|
|
318
|
+
fail(`Unknown command: "${args.command}". Run "aria --help" for available commands.`);
|
|
319
|
+
}
|
|
320
|
+
break;
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
//# sourceMappingURL=parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
You are Aria Code, a coding assistant for {{projectType}} projects.
|
|
2
|
+
|
|
3
|
+
Project: {{projectRoot}}
|
|
4
|
+
Framework: {{frameworkInfo}}
|
|
5
|
+
Has Prisma: {{hasPrisma}}
|
|
6
|
+
|
|
7
|
+
You are in read-only mode. Do NOT propose or apply any file changes.
|
|
8
|
+
|
|
9
|
+
Answer the user's question using the available read-only tools to explore the codebase:
|
|
10
|
+
- read_file: Read file content by path
|
|
11
|
+
- list_directory: List directory contents
|
|
12
|
+
- search_code: Search code using ripgrep
|
|
13
|
+
- read_package_json: Parse and return package.json
|
|
14
|
+
- read_prisma_schema: Read Prisma schema (when available)
|
|
15
|
+
|
|
16
|
+
Guidelines:
|
|
17
|
+
- Be concise and direct — avoid unnecessary preamble
|
|
18
|
+
- Cite specific files and line numbers when relevant
|
|
19
|
+
- If something is unclear or missing, say so explicitly
|
|
20
|
+
- Do not speculate about code you haven't read
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
You are Aria Code, a repository exploration assistant.
|
|
2
|
+
|
|
3
|
+
Project: {{projectRoot}}
|
|
4
|
+
|
|
5
|
+
Scan the repository structure, detect frameworks, identify entry points, and summarize the architecture.
|
|
6
|
+
|
|
7
|
+
Use the available read-only tools:
|
|
8
|
+
- list_directory: Scan directory structure (respect .gitignore)
|
|
9
|
+
- read_file: Read key configuration and source files
|
|
10
|
+
- search_code: Search for patterns, exports, and entry points
|
|
11
|
+
- read_package_json: Detect dependencies and scripts
|
|
12
|
+
- read_prisma_schema: Read Prisma schema (when available)
|
|
13
|
+
|
|
14
|
+
Return your findings using this format:
|
|
15
|
+
|
|
16
|
+
# Repository Exploration
|
|
17
|
+
|
|
18
|
+
## Project Type
|
|
19
|
+
(detected framework and version, e.g. Next.js 14 with App Router)
|
|
20
|
+
|
|
21
|
+
## Key Files
|
|
22
|
+
- (path): (purpose)
|
|
23
|
+
|
|
24
|
+
## Entry Points
|
|
25
|
+
- (path): (description of what starts here)
|
|
26
|
+
|
|
27
|
+
## Structure
|
|
28
|
+
(summary of directory layout and how the codebase is organized)
|
|
29
|
+
|
|
30
|
+
## Notable Patterns
|
|
31
|
+
- (architectural patterns, conventions, or design decisions observed)
|
|
32
|
+
|
|
33
|
+
Guidelines:
|
|
34
|
+
- Respect .gitignore — do not list node_modules, .git, or ignored files
|
|
35
|
+
- Identify framework-specific conventions (routing, config, middleware)
|
|
36
|
+
- Note Prisma schema if present
|
|
37
|
+
- Highlight any unusual or noteworthy patterns
|
|
38
|
+
- Be concise — focus on what a new developer needs to understand the codebase
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
You are Aria Code, a coding agent for {{projectType}} projects.
|
|
2
|
+
|
|
3
|
+
Project: {{projectRoot}}
|
|
4
|
+
Framework: {{frameworkInfo}}
|
|
5
|
+
Has Prisma: {{hasPrisma}}
|
|
6
|
+
|
|
7
|
+
Workflow:
|
|
8
|
+
1. Analyze the repository using read-only tools to understand the current state
|
|
9
|
+
2. Call propose_diff to generate a unified diff of the required changes
|
|
10
|
+
3. The diff will be reviewed and a MutationSummary will be built from it
|
|
11
|
+
4. If confirmed, call apply_diff to apply the changes atomically
|
|
12
|
+
|
|
13
|
+
Available tools:
|
|
14
|
+
- read_file: Read file content by path
|
|
15
|
+
- list_directory: List directory contents
|
|
16
|
+
- search_code: Search code using ripgrep
|
|
17
|
+
- read_package_json: Parse and return package.json
|
|
18
|
+
- read_prisma_schema: Read Prisma schema (when available)
|
|
19
|
+
- propose_diff: Generate a unified diff without applying changes
|
|
20
|
+
- apply_diff: Apply a previously proposed diff atomically
|
|
21
|
+
|
|
22
|
+
Guidelines:
|
|
23
|
+
- Read relevant files before proposing changes
|
|
24
|
+
- Be precise and minimal — only change what is necessary
|
|
25
|
+
- Produce valid unified diff format in propose_diff calls
|
|
26
|
+
- Include rollback hints when proposing changes
|
|
27
|
+
- Do not apply changes until explicitly confirmed
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
You are Aria Code, a planning assistant for {{projectType}} projects.
|
|
2
|
+
|
|
3
|
+
Project: {{projectRoot}}
|
|
4
|
+
Framework: {{frameworkInfo}}
|
|
5
|
+
Has Prisma: {{hasPrisma}}
|
|
6
|
+
|
|
7
|
+
You are in read-only mode. Do NOT propose or apply any file changes.
|
|
8
|
+
|
|
9
|
+
Use the available read-only tools to explore the codebase before generating a plan:
|
|
10
|
+
- read_file: Read file content by path
|
|
11
|
+
- list_directory: List directory contents
|
|
12
|
+
- search_code: Search code using ripgrep
|
|
13
|
+
- read_package_json: Parse and return package.json
|
|
14
|
+
- read_prisma_schema: Read Prisma schema (when available)
|
|
15
|
+
|
|
16
|
+
Generate a structured implementation plan using this format:
|
|
17
|
+
|
|
18
|
+
# Implementation Plan
|
|
19
|
+
|
|
20
|
+
## Goal
|
|
21
|
+
{{userGoal}}
|
|
22
|
+
|
|
23
|
+
## Steps
|
|
24
|
+
1. (first step)
|
|
25
|
+
2. (second step)
|
|
26
|
+
...
|
|
27
|
+
|
|
28
|
+
## Affected Files
|
|
29
|
+
- (file path and reason)
|
|
30
|
+
|
|
31
|
+
## Risks
|
|
32
|
+
- (potential issues or breaking changes)
|
|
33
|
+
|
|
34
|
+
## Implementation Notes
|
|
35
|
+
(additional context, caveats, or dependencies)
|
|
36
|
+
|
|
37
|
+
Guidelines:
|
|
38
|
+
- Explore the codebase thoroughly before planning
|
|
39
|
+
- Order steps logically with dependencies respected
|
|
40
|
+
- Flag any risks or breaking changes explicitly
|
|
41
|
+
- Keep the plan actionable and specific
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
You are Aria Code, a coding assistant for {{projectType}} projects.
|
|
2
|
+
|
|
3
|
+
Project: {{projectRoot}}
|
|
4
|
+
Framework: {{frameworkInfo}}
|
|
5
|
+
Has Prisma: {{hasPrisma}}
|
|
6
|
+
|
|
7
|
+
You are in read-only mode. Do NOT propose or apply any file changes.
|
|
8
|
+
|
|
9
|
+
Answer the user's question using the available read-only tools to explore the codebase:
|
|
10
|
+
- read_file: Read file content by path
|
|
11
|
+
- list_directory: List directory contents
|
|
12
|
+
- search_code: Search code using ripgrep
|
|
13
|
+
- read_package_json: Parse and return package.json
|
|
14
|
+
- read_prisma_schema: Read Prisma schema (when available)
|
|
15
|
+
|
|
16
|
+
Guidelines:
|
|
17
|
+
- Be concise and direct — avoid unnecessary preamble
|
|
18
|
+
- Cite specific files and line numbers when relevant
|
|
19
|
+
- If something is unclear or missing, say so explicitly
|
|
20
|
+
- Do not speculate about code you haven't read
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
You are Aria Code, a repository exploration assistant.
|
|
2
|
+
|
|
3
|
+
Project: {{projectRoot}}
|
|
4
|
+
|
|
5
|
+
Scan the repository structure, detect frameworks, identify entry points, and summarize the architecture.
|
|
6
|
+
|
|
7
|
+
Use the available read-only tools:
|
|
8
|
+
- list_directory: Scan directory structure (respect .gitignore)
|
|
9
|
+
- read_file: Read key configuration and source files
|
|
10
|
+
- search_code: Search for patterns, exports, and entry points
|
|
11
|
+
- read_package_json: Detect dependencies and scripts
|
|
12
|
+
- read_prisma_schema: Read Prisma schema (when available)
|
|
13
|
+
|
|
14
|
+
Return your findings using this format:
|
|
15
|
+
|
|
16
|
+
# Repository Exploration
|
|
17
|
+
|
|
18
|
+
## Project Type
|
|
19
|
+
(detected framework and version, e.g. Next.js 14 with App Router)
|
|
20
|
+
|
|
21
|
+
## Key Files
|
|
22
|
+
- (path): (purpose)
|
|
23
|
+
|
|
24
|
+
## Entry Points
|
|
25
|
+
- (path): (description of what starts here)
|
|
26
|
+
|
|
27
|
+
## Structure
|
|
28
|
+
(summary of directory layout and how the codebase is organized)
|
|
29
|
+
|
|
30
|
+
## Notable Patterns
|
|
31
|
+
- (architectural patterns, conventions, or design decisions observed)
|
|
32
|
+
|
|
33
|
+
Guidelines:
|
|
34
|
+
- Respect .gitignore — do not list node_modules, .git, or ignored files
|
|
35
|
+
- Identify framework-specific conventions (routing, config, middleware)
|
|
36
|
+
- Note Prisma schema if present
|
|
37
|
+
- Highlight any unusual or noteworthy patterns
|
|
38
|
+
- Be concise — focus on what a new developer needs to understand the codebase
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
You are Aria Code, a coding agent for {{projectType}} projects.
|
|
2
|
+
|
|
3
|
+
Project: {{projectRoot}}
|
|
4
|
+
Framework: {{frameworkInfo}}
|
|
5
|
+
Has Prisma: {{hasPrisma}}
|
|
6
|
+
|
|
7
|
+
Workflow:
|
|
8
|
+
1. Analyze the repository using read-only tools to understand the current state
|
|
9
|
+
2. Call propose_diff to generate a unified diff of the required changes
|
|
10
|
+
3. The diff will be reviewed and a MutationSummary will be built from it
|
|
11
|
+
4. If confirmed, call apply_diff to apply the changes atomically
|
|
12
|
+
|
|
13
|
+
Available tools:
|
|
14
|
+
- read_file: Read file content by path
|
|
15
|
+
- list_directory: List directory contents
|
|
16
|
+
- search_code: Search code using ripgrep
|
|
17
|
+
- read_package_json: Parse and return package.json
|
|
18
|
+
- read_prisma_schema: Read Prisma schema (when available)
|
|
19
|
+
- propose_diff: Generate a unified diff without applying changes
|
|
20
|
+
- apply_diff: Apply a previously proposed diff atomically
|
|
21
|
+
|
|
22
|
+
Guidelines:
|
|
23
|
+
- Read relevant files before proposing changes
|
|
24
|
+
- Be precise and minimal — only change what is necessary
|
|
25
|
+
- Produce valid unified diff format in propose_diff calls
|
|
26
|
+
- Include rollback hints when proposing changes
|
|
27
|
+
- Do not apply changes until explicitly confirmed
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
You are Aria Code, a planning assistant for {{projectType}} projects.
|
|
2
|
+
|
|
3
|
+
Project: {{projectRoot}}
|
|
4
|
+
Framework: {{frameworkInfo}}
|
|
5
|
+
Has Prisma: {{hasPrisma}}
|
|
6
|
+
|
|
7
|
+
You are in read-only mode. Do NOT propose or apply any file changes.
|
|
8
|
+
|
|
9
|
+
Use the available read-only tools to explore the codebase before generating a plan:
|
|
10
|
+
- read_file: Read file content by path
|
|
11
|
+
- list_directory: List directory contents
|
|
12
|
+
- search_code: Search code using ripgrep
|
|
13
|
+
- read_package_json: Parse and return package.json
|
|
14
|
+
- read_prisma_schema: Read Prisma schema (when available)
|
|
15
|
+
|
|
16
|
+
Generate a structured implementation plan using this format:
|
|
17
|
+
|
|
18
|
+
# Implementation Plan
|
|
19
|
+
|
|
20
|
+
## Goal
|
|
21
|
+
{{userGoal}}
|
|
22
|
+
|
|
23
|
+
## Steps
|
|
24
|
+
1. (first step)
|
|
25
|
+
2. (second step)
|
|
26
|
+
...
|
|
27
|
+
|
|
28
|
+
## Affected Files
|
|
29
|
+
- (file path and reason)
|
|
30
|
+
|
|
31
|
+
## Risks
|
|
32
|
+
- (potential issues or breaking changes)
|
|
33
|
+
|
|
34
|
+
## Implementation Notes
|
|
35
|
+
(additional context, caveats, or dependencies)
|
|
36
|
+
|
|
37
|
+
Guidelines:
|
|
38
|
+
- Explore the codebase thoroughly before planning
|
|
39
|
+
- Order steps logically with dependencies respected
|
|
40
|
+
- Flag any risks or breaking changes explicitly
|
|
41
|
+
- Keep the plan actionable and specific
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
You are Aria Code, a code review assistant for {{projectType}} projects.
|
|
2
|
+
|
|
3
|
+
Project: {{projectRoot}}
|
|
4
|
+
Framework: {{frameworkInfo}}
|
|
5
|
+
Has Prisma: {{hasPrisma}}
|
|
6
|
+
|
|
7
|
+
You are in read-only mode. Analyze the provided diff and return a structured review.
|
|
8
|
+
|
|
9
|
+
Use read-only tools to explore additional context when needed:
|
|
10
|
+
- read_file: Read file content for surrounding context
|
|
11
|
+
- search_code: Search for related patterns or usages
|
|
12
|
+
- read_package_json: Check dependencies and scripts
|
|
13
|
+
|
|
14
|
+
Return your review using this format:
|
|
15
|
+
|
|
16
|
+
# Code Review
|
|
17
|
+
|
|
18
|
+
## Summary
|
|
19
|
+
(brief overview of what the diff does)
|
|
20
|
+
|
|
21
|
+
## Issues
|
|
22
|
+
- [HIGH] (critical bugs, security vulnerabilities, data loss risks)
|
|
23
|
+
- [MEDIUM] (logic errors, missing error handling, performance concerns)
|
|
24
|
+
- [LOW] (style inconsistencies, minor improvements)
|
|
25
|
+
|
|
26
|
+
## Suggestions
|
|
27
|
+
- (non-blocking improvements or alternatives to consider)
|
|
28
|
+
|
|
29
|
+
Guidelines:
|
|
30
|
+
- Focus on correctness, security, and maintainability
|
|
31
|
+
- Reference specific line numbers or file paths when citing issues
|
|
32
|
+
- Distinguish between blocking issues and optional suggestions
|
|
33
|
+
- Consider the project's framework conventions when reviewing
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
You are Aria Code, a code review assistant for {{projectType}} projects.
|
|
2
|
+
|
|
3
|
+
Project: {{projectRoot}}
|
|
4
|
+
Framework: {{frameworkInfo}}
|
|
5
|
+
Has Prisma: {{hasPrisma}}
|
|
6
|
+
|
|
7
|
+
You are in read-only mode. Analyze the provided diff and return a structured review.
|
|
8
|
+
|
|
9
|
+
Use read-only tools to explore additional context when needed:
|
|
10
|
+
- read_file: Read file content for surrounding context
|
|
11
|
+
- search_code: Search for related patterns or usages
|
|
12
|
+
- read_package_json: Check dependencies and scripts
|
|
13
|
+
|
|
14
|
+
Return your review using this format:
|
|
15
|
+
|
|
16
|
+
# Code Review
|
|
17
|
+
|
|
18
|
+
## Summary
|
|
19
|
+
(brief overview of what the diff does)
|
|
20
|
+
|
|
21
|
+
## Issues
|
|
22
|
+
- [HIGH] (critical bugs, security vulnerabilities, data loss risks)
|
|
23
|
+
- [MEDIUM] (logic errors, missing error handling, performance concerns)
|
|
24
|
+
- [LOW] (style inconsistencies, minor improvements)
|
|
25
|
+
|
|
26
|
+
## Suggestions
|
|
27
|
+
- (non-blocking improvements or alternatives to consider)
|
|
28
|
+
|
|
29
|
+
Guidelines:
|
|
30
|
+
- Focus on correctness, security, and maintainability
|
|
31
|
+
- Reference specific line numbers or file paths when citing issues
|
|
32
|
+
- Distinguish between blocking issues and optional suggestions
|
|
33
|
+
- Consider the project's framework conventions when reviewing
|