proagents 1.0.10 → 1.0.11
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/bin/proagents.js +70 -0
- package/lib/commands/ai.js +385 -0
- package/lib/commands/config.js +596 -0
- package/lib/commands/help.js +56 -8
- package/lib/commands/init.js +28 -82
- package/lib/commands/uninstall.js +178 -0
- package/package.json +1 -1
- package/proagents/.cursorrules +40 -2
- package/proagents/.github/copilot-instructions.md +27 -3
- package/proagents/.windsurfrules +28 -4
- package/proagents/AI_INSTRUCTIONS.md +36 -4
- package/proagents/ANTIGRAVITY.md +114 -0
- package/proagents/BOLT.md +28 -4
- package/proagents/CHATGPT.md +36 -4
- package/proagents/CLAUDE.md +55 -3
- package/proagents/GEMINI.md +36 -4
- package/proagents/GROQ.md +36 -4
- package/proagents/KIRO.md +36 -4
- package/proagents/LOVABLE.md +36 -4
- package/proagents/REPLIT.md +40 -4
package/lib/commands/init.js
CHANGED
|
@@ -3,6 +3,7 @@ import { join, dirname } from 'path';
|
|
|
3
3
|
import { fileURLToPath } from 'url';
|
|
4
4
|
import chalk from 'chalk';
|
|
5
5
|
import yaml from 'js-yaml';
|
|
6
|
+
import { selectPlatforms, copyPlatformFiles, savePlatformConfig, loadPlatformConfig } from './ai.js';
|
|
6
7
|
|
|
7
8
|
const __filename = fileURLToPath(import.meta.url);
|
|
8
9
|
const __dirname = dirname(__filename);
|
|
@@ -79,24 +80,14 @@ const FRAMEWORK_FOLDERS = [
|
|
|
79
80
|
'webhooks',
|
|
80
81
|
];
|
|
81
82
|
|
|
82
|
-
// Root files to always update
|
|
83
|
+
// Root files to always update (AI files handled separately via platform selection)
|
|
83
84
|
const FRAMEWORK_FILES = [
|
|
84
85
|
'README.md',
|
|
85
86
|
'WORKFLOW.md',
|
|
86
87
|
'PROAGENTS.md',
|
|
87
88
|
'GETTING-STARTED-STORY.md',
|
|
88
89
|
'slash-commands.json',
|
|
89
|
-
'
|
|
90
|
-
'.cursorrules',
|
|
91
|
-
'.windsurfrules',
|
|
92
|
-
'AI_INSTRUCTIONS.md',
|
|
93
|
-
'GEMINI.md',
|
|
94
|
-
'CHATGPT.md',
|
|
95
|
-
'KIRO.md',
|
|
96
|
-
'REPLIT.md',
|
|
97
|
-
'BOLT.md',
|
|
98
|
-
'LOVABLE.md',
|
|
99
|
-
'GROQ.md',
|
|
90
|
+
'AI_INSTRUCTIONS.md', // Universal instructions kept for reference
|
|
100
91
|
];
|
|
101
92
|
|
|
102
93
|
/**
|
|
@@ -264,40 +255,22 @@ For detailed commands, see \`./proagents/PROAGENTS.md\`
|
|
|
264
255
|
console.log(chalk.green('✓ Created README.md with ProAgents commands'));
|
|
265
256
|
}
|
|
266
257
|
|
|
267
|
-
//
|
|
268
|
-
const
|
|
269
|
-
{ src: 'CLAUDE.md', target: 'CLAUDE.md', desc: 'Claude AI' },
|
|
270
|
-
{ src: '.cursorrules', target: '.cursorrules', desc: 'Cursor AI' },
|
|
271
|
-
{ src: '.windsurfrules', target: '.windsurfrules', desc: 'Windsurf' },
|
|
272
|
-
{ src: 'GEMINI.md', target: 'GEMINI.md', desc: 'Gemini AI' },
|
|
273
|
-
{ src: 'CHATGPT.md', target: 'CHATGPT.md', desc: 'ChatGPT/Codex' },
|
|
274
|
-
{ src: 'KIRO.md', target: 'KIRO.md', desc: 'AWS Kiro' },
|
|
275
|
-
{ src: 'REPLIT.md', target: 'REPLIT.md', desc: 'Replit AI' },
|
|
276
|
-
{ src: 'BOLT.md', target: 'BOLT.md', desc: 'Bolt.new' },
|
|
277
|
-
{ src: 'LOVABLE.md', target: 'LOVABLE.md', desc: 'Lovable' },
|
|
278
|
-
{ src: 'GROQ.md', target: 'GROQ.md', desc: 'Groq' },
|
|
279
|
-
];
|
|
280
|
-
|
|
281
|
-
for (const file of aiFiles) {
|
|
282
|
-
const sourcePath = join(sourceDir, file.src);
|
|
283
|
-
const targetPath = join(targetDir, file.target);
|
|
284
|
-
if (existsSync(sourcePath) && !existsSync(targetPath)) {
|
|
285
|
-
cpSync(sourcePath, targetPath);
|
|
286
|
-
console.log(chalk.green(`✓ Created ${file.target} (for ${file.desc} recognition)`));
|
|
287
|
-
}
|
|
288
|
-
}
|
|
258
|
+
// Interactive AI platform selection
|
|
259
|
+
const selectedPlatforms = await selectPlatforms();
|
|
289
260
|
|
|
290
|
-
// Copy
|
|
291
|
-
const
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
if (!existsSync(githubDir)) {
|
|
296
|
-
mkdirSync(githubDir, { recursive: true });
|
|
297
|
-
}
|
|
298
|
-
cpSync(copilotSource, copilotTarget);
|
|
299
|
-
console.log(chalk.green('✓ Created .github/copilot-instructions.md (for GitHub Copilot)'));
|
|
261
|
+
// Copy AI instruction files for selected platforms
|
|
262
|
+
const aiResults = copyPlatformFiles(selectedPlatforms, sourceDir, targetDir);
|
|
263
|
+
|
|
264
|
+
if (aiResults.created.length > 0) {
|
|
265
|
+
console.log(chalk.green(`✓ Created AI files: ${aiResults.created.join(', ')}`));
|
|
300
266
|
}
|
|
267
|
+
if (aiResults.skipped.length > 0) {
|
|
268
|
+
console.log(chalk.yellow(`⚠️ Skipped (already exist): ${aiResults.skipped.join(', ')}`));
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
// Save selected platforms to config
|
|
272
|
+
const configPath = join(proagentsDir, 'proagents.config.yaml');
|
|
273
|
+
savePlatformConfig(selectedPlatforms, configPath);
|
|
301
274
|
|
|
302
275
|
// Success message
|
|
303
276
|
console.log(chalk.green('\n✓ ProAgents initialized successfully!\n'));
|
|
@@ -410,50 +383,23 @@ async function smartUpdate(sourceDir, targetDir) {
|
|
|
410
383
|
}
|
|
411
384
|
}
|
|
412
385
|
|
|
413
|
-
// Copy AI instruction files
|
|
386
|
+
// Copy AI instruction files for configured platforms (only if they don't exist)
|
|
414
387
|
const projectRoot = join(targetDir, '..');
|
|
415
|
-
const
|
|
416
|
-
|
|
417
|
-
'.cursorrules',
|
|
418
|
-
'.windsurfrules',
|
|
419
|
-
'AI_INSTRUCTIONS.md',
|
|
420
|
-
'GEMINI.md',
|
|
421
|
-
'CHATGPT.md',
|
|
422
|
-
'KIRO.md',
|
|
423
|
-
'REPLIT.md',
|
|
424
|
-
'BOLT.md',
|
|
425
|
-
'LOVABLE.md',
|
|
426
|
-
'GROQ.md',
|
|
427
|
-
];
|
|
428
|
-
let aiFilesUpdated = 0;
|
|
429
|
-
|
|
430
|
-
for (const file of aiFiles) {
|
|
431
|
-
const sourcePath = join(sourceDir, file);
|
|
432
|
-
const targetPath = join(projectRoot, file);
|
|
388
|
+
const configPath = join(targetDir, 'proagents.config.yaml');
|
|
389
|
+
const selectedPlatforms = loadPlatformConfig(configPath);
|
|
433
390
|
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
aiFilesUpdated++;
|
|
437
|
-
}
|
|
438
|
-
}
|
|
391
|
+
if (selectedPlatforms.length > 0) {
|
|
392
|
+
const aiResults = copyPlatformFiles(selectedPlatforms, sourceDir, projectRoot);
|
|
439
393
|
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
if (existsSync(copilotSource)) {
|
|
446
|
-
if (!existsSync(githubDir)) {
|
|
447
|
-
mkdirSync(githubDir, { recursive: true });
|
|
394
|
+
if (aiResults.created.length > 0) {
|
|
395
|
+
console.log(chalk.green(`✓ Created new AI files: ${aiResults.created.join(', ')}`));
|
|
396
|
+
}
|
|
397
|
+
if (aiResults.skipped.length > 0) {
|
|
398
|
+
console.log(chalk.gray(`ℹ️ Preserved existing: ${aiResults.skipped.join(', ')}`));
|
|
448
399
|
}
|
|
449
|
-
cpSync(copilotSource, copilotTarget, { force: true });
|
|
450
|
-
aiFilesUpdated++;
|
|
451
400
|
}
|
|
452
401
|
|
|
453
|
-
|
|
454
|
-
console.log(chalk.green(`✓ Updated ${aiFilesUpdated} AI instruction files`));
|
|
455
|
-
console.log(chalk.gray(' (Claude, Cursor, Windsurf, Gemini, ChatGPT, Kiro, Replit, Bolt, Lovable, Groq, Copilot)'));
|
|
456
|
-
}
|
|
402
|
+
console.log(chalk.gray('\nTip: Use "proagents ai add" to add more AI platforms'));
|
|
457
403
|
}
|
|
458
404
|
|
|
459
405
|
/**
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { existsSync, rmSync, readFileSync, writeFileSync } from 'fs';
|
|
2
|
+
import { join } from 'path';
|
|
3
|
+
import { createInterface } from 'readline';
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
|
|
6
|
+
// AI instruction files that may have been copied to project root
|
|
7
|
+
const AI_FILES = [
|
|
8
|
+
'CLAUDE.md',
|
|
9
|
+
'.cursorrules',
|
|
10
|
+
'.windsurfrules',
|
|
11
|
+
'GEMINI.md',
|
|
12
|
+
'CHATGPT.md',
|
|
13
|
+
'KIRO.md',
|
|
14
|
+
'REPLIT.md',
|
|
15
|
+
'BOLT.md',
|
|
16
|
+
'LOVABLE.md',
|
|
17
|
+
'GROQ.md',
|
|
18
|
+
'ANTIGRAVITY.md',
|
|
19
|
+
'AI_INSTRUCTIONS.md',
|
|
20
|
+
];
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Command: proagents uninstall
|
|
24
|
+
*/
|
|
25
|
+
export async function uninstallCommand(options = {}) {
|
|
26
|
+
const targetDir = process.cwd();
|
|
27
|
+
const proagentsDir = join(targetDir, 'proagents');
|
|
28
|
+
|
|
29
|
+
console.log('\n' + chalk.bold.red('ProAgents Uninstall'));
|
|
30
|
+
console.log(chalk.red('===================\n'));
|
|
31
|
+
|
|
32
|
+
// Check if ProAgents is installed
|
|
33
|
+
if (!existsSync(proagentsDir)) {
|
|
34
|
+
console.log(chalk.yellow('ProAgents is not installed in this project.\n'));
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Confirm unless --force is used
|
|
39
|
+
if (!options.force) {
|
|
40
|
+
const rl = createInterface({
|
|
41
|
+
input: process.stdin,
|
|
42
|
+
output: process.stdout
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
const question = (prompt) => new Promise(resolve => rl.question(prompt, resolve));
|
|
46
|
+
|
|
47
|
+
console.log(chalk.yellow('This will remove:'));
|
|
48
|
+
console.log(chalk.gray(' • ./proagents/ folder'));
|
|
49
|
+
console.log(chalk.gray(' • AI instruction files (CLAUDE.md, .cursorrules, etc.)'));
|
|
50
|
+
console.log(chalk.gray(' • ProAgents section from README.md\n'));
|
|
51
|
+
|
|
52
|
+
const answer = await question(chalk.yellow('Are you sure? (yes/no): '));
|
|
53
|
+
rl.close();
|
|
54
|
+
|
|
55
|
+
if (answer.toLowerCase() !== 'yes' && answer.toLowerCase() !== 'y') {
|
|
56
|
+
console.log(chalk.gray('\nUninstall cancelled.\n'));
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
console.log('');
|
|
62
|
+
|
|
63
|
+
// 1. Remove proagents folder
|
|
64
|
+
if (existsSync(proagentsDir)) {
|
|
65
|
+
rmSync(proagentsDir, { recursive: true, force: true });
|
|
66
|
+
console.log(chalk.green('✓ Removed ./proagents/ folder'));
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// 2. Remove AI instruction files from project root
|
|
70
|
+
let aiFilesRemoved = 0;
|
|
71
|
+
for (const file of AI_FILES) {
|
|
72
|
+
const filePath = join(targetDir, file);
|
|
73
|
+
if (existsSync(filePath)) {
|
|
74
|
+
rmSync(filePath, { force: true });
|
|
75
|
+
aiFilesRemoved++;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// Remove .github/copilot-instructions.md
|
|
80
|
+
const copilotPath = join(targetDir, '.github', 'copilot-instructions.md');
|
|
81
|
+
if (existsSync(copilotPath)) {
|
|
82
|
+
rmSync(copilotPath, { force: true });
|
|
83
|
+
aiFilesRemoved++;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
if (aiFilesRemoved > 0) {
|
|
87
|
+
console.log(chalk.green(`✓ Removed ${aiFilesRemoved} AI instruction file(s)`));
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// 3. Remove ProAgents section from README.md
|
|
91
|
+
const readmePath = join(targetDir, 'README.md');
|
|
92
|
+
if (existsSync(readmePath)) {
|
|
93
|
+
try {
|
|
94
|
+
let content = readFileSync(readmePath, 'utf-8');
|
|
95
|
+
|
|
96
|
+
// Remove ProAgents section between markers
|
|
97
|
+
const startMarker = '<!-- PROAGENTS:START';
|
|
98
|
+
const endMarker = '<!-- PROAGENTS:END -->';
|
|
99
|
+
|
|
100
|
+
const startIndex = content.indexOf(startMarker);
|
|
101
|
+
const endIndex = content.indexOf(endMarker);
|
|
102
|
+
|
|
103
|
+
if (startIndex !== -1 && endIndex !== -1) {
|
|
104
|
+
const before = content.substring(0, startIndex).trimEnd();
|
|
105
|
+
const after = content.substring(endIndex + endMarker.length).trimStart();
|
|
106
|
+
content = before + (after ? '\n\n' + after : '');
|
|
107
|
+
|
|
108
|
+
writeFileSync(readmePath, content);
|
|
109
|
+
console.log(chalk.green('✓ Removed ProAgents section from README.md'));
|
|
110
|
+
}
|
|
111
|
+
} catch (error) {
|
|
112
|
+
console.log(chalk.yellow('⚠️ Could not update README.md: ' + error.message));
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
// 4. Remove docs files created by ProAgents (optional - only if empty)
|
|
117
|
+
const docsDir = join(targetDir, 'docs');
|
|
118
|
+
const releasesDir = join(docsDir, 'releases');
|
|
119
|
+
const releasesReadme = join(releasesDir, 'README.md');
|
|
120
|
+
|
|
121
|
+
// Only remove if it's the default ProAgents-generated file
|
|
122
|
+
if (existsSync(releasesReadme)) {
|
|
123
|
+
try {
|
|
124
|
+
const content = readFileSync(releasesReadme, 'utf-8');
|
|
125
|
+
if (content.includes('Generated by [ProAgents]')) {
|
|
126
|
+
rmSync(releasesReadme, { force: true });
|
|
127
|
+
// Try to remove empty directories
|
|
128
|
+
try {
|
|
129
|
+
rmSync(releasesDir, { recursive: false });
|
|
130
|
+
rmSync(join(docsDir, 'api'), { recursive: false });
|
|
131
|
+
rmSync(docsDir, { recursive: false });
|
|
132
|
+
console.log(chalk.green('✓ Removed empty docs/ folder'));
|
|
133
|
+
} catch {
|
|
134
|
+
// Directory not empty, leave it
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
} catch {
|
|
138
|
+
// Ignore errors
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// 5. Check for CHANGELOG.md and RELEASE_NOTES.md
|
|
143
|
+
const changelogPath = join(targetDir, 'CHANGELOG.md');
|
|
144
|
+
const releaseNotesPath = join(targetDir, 'RELEASE_NOTES.md');
|
|
145
|
+
|
|
146
|
+
if (existsSync(changelogPath)) {
|
|
147
|
+
try {
|
|
148
|
+
const content = readFileSync(changelogPath, 'utf-8');
|
|
149
|
+
if (content.includes('Generated by [ProAgents]')) {
|
|
150
|
+
rmSync(changelogPath, { force: true });
|
|
151
|
+
console.log(chalk.green('✓ Removed CHANGELOG.md (ProAgents-generated)'));
|
|
152
|
+
} else {
|
|
153
|
+
console.log(chalk.gray('ℹ️ Kept CHANGELOG.md (has custom content)'));
|
|
154
|
+
}
|
|
155
|
+
} catch {
|
|
156
|
+
// Ignore
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
if (existsSync(releaseNotesPath)) {
|
|
161
|
+
try {
|
|
162
|
+
const content = readFileSync(releaseNotesPath, 'utf-8');
|
|
163
|
+
if (content.includes('Generated by [ProAgents]')) {
|
|
164
|
+
rmSync(releaseNotesPath, { force: true });
|
|
165
|
+
console.log(chalk.green('✓ Removed RELEASE_NOTES.md (ProAgents-generated)'));
|
|
166
|
+
} else {
|
|
167
|
+
console.log(chalk.gray('ℹ️ Kept RELEASE_NOTES.md (has custom content)'));
|
|
168
|
+
}
|
|
169
|
+
} catch {
|
|
170
|
+
// Ignore
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
console.log(chalk.green('\n✓ ProAgents uninstalled from this project.\n'));
|
|
175
|
+
|
|
176
|
+
console.log(chalk.gray('To uninstall the global CLI:'));
|
|
177
|
+
console.log(chalk.cyan(' npm uninstall -g proagents\n'));
|
|
178
|
+
}
|
package/package.json
CHANGED
package/proagents/.cursorrules
CHANGED
|
@@ -6,18 +6,56 @@ This project uses ProAgents workflow framework.
|
|
|
6
6
|
|
|
7
7
|
Recognize commands starting with `pa:` prefix:
|
|
8
8
|
|
|
9
|
+
**Initialization**
|
|
10
|
+
- `pa:init` - Initialize ProAgents in project
|
|
9
11
|
- `pa:help` - Show all commands
|
|
12
|
+
- `pa:status` - Show current progress
|
|
13
|
+
|
|
14
|
+
**Feature Development**
|
|
10
15
|
- `pa:feature "name"` - Start feature workflow (see ./proagents/WORKFLOW.md)
|
|
16
|
+
- `pa:feature-start "name"` - Start new feature
|
|
17
|
+
- `pa:feature-status` - Check feature status
|
|
18
|
+
- `pa:feature-list` - List all features
|
|
19
|
+
- `pa:feature-complete` - Mark feature complete
|
|
11
20
|
- `pa:fix "bug"` - Bug fix mode (see ./proagents/workflow-modes/entry-modes.md)
|
|
12
|
-
|
|
21
|
+
|
|
22
|
+
**Documentation**
|
|
13
23
|
- `pa:doc` - Documentation options
|
|
14
24
|
- `pa:doc-full` - Generate full documentation (see ./proagents/prompts/07-documentation.md)
|
|
15
25
|
- `pa:doc-moderate` - Balanced documentation
|
|
16
26
|
- `pa:doc-lite` - Quick reference
|
|
27
|
+
- `pa:doc-module [name]` - Document specific module
|
|
28
|
+
- `pa:doc-file [path]` - Document specific file
|
|
29
|
+
- `pa:doc-api` - Generate API documentation
|
|
30
|
+
- `pa:readme` - Generate/update README
|
|
31
|
+
- `pa:changelog` - Update CHANGELOG.md
|
|
32
|
+
- `pa:release` - Generate release notes
|
|
33
|
+
|
|
34
|
+
**Quality & Testing**
|
|
17
35
|
- `pa:qa` - Quality checks (see ./proagents/checklists/code-quality.md)
|
|
18
36
|
- `pa:test` - Test workflow (see ./proagents/prompts/06-testing.md)
|
|
37
|
+
- `pa:review` - Code review workflow
|
|
38
|
+
|
|
39
|
+
**Deployment**
|
|
19
40
|
- `pa:deploy` - Deployment workflow (see ./proagents/prompts/08-deployment.md)
|
|
20
|
-
- `pa:
|
|
41
|
+
- `pa:rollback` - Rollback procedures
|
|
42
|
+
|
|
43
|
+
**AI Platform Management**
|
|
44
|
+
- `pa:ai-list` - List installed AI platforms
|
|
45
|
+
- `pa:ai-add` - Add more AI platforms
|
|
46
|
+
- `pa:ai-remove` - Remove AI platforms from config
|
|
47
|
+
|
|
48
|
+
**Configuration**
|
|
49
|
+
- `pa:config` - Show current configuration
|
|
50
|
+
- `pa:config-list` - List all configurable options
|
|
51
|
+
- `pa:config-show` - Show current config values
|
|
52
|
+
- `pa:config-set K V` - Set a config value
|
|
53
|
+
- `pa:config-get K` - Get a config value
|
|
54
|
+
- `pa:config-setup` - Interactive config wizard
|
|
55
|
+
- `pa:config-customize` - Copy templates to customize
|
|
56
|
+
|
|
57
|
+
**Utilities**
|
|
58
|
+
- `pa:uninstall` - Remove ProAgents from project
|
|
21
59
|
|
|
22
60
|
## Workflow
|
|
23
61
|
|
|
@@ -4,11 +4,18 @@ This project uses ProAgents workflow framework. Recognize `pa:` prefix commands.
|
|
|
4
4
|
|
|
5
5
|
## Commands
|
|
6
6
|
|
|
7
|
-
###
|
|
7
|
+
### Initialization
|
|
8
|
+
- `pa:init` - Initialize ProAgents in project
|
|
8
9
|
- `pa:help` - Show all commands
|
|
10
|
+
- `pa:status` - Show progress
|
|
11
|
+
|
|
12
|
+
### Feature Development
|
|
9
13
|
- `pa:feature "name"` - Start feature (read ./proagents/WORKFLOW.md)
|
|
14
|
+
- `pa:feature-start "name"` - Start new feature
|
|
15
|
+
- `pa:feature-status` - Check feature status
|
|
16
|
+
- `pa:feature-list` - List all features
|
|
17
|
+
- `pa:feature-complete` - Mark feature complete
|
|
10
18
|
- `pa:fix "bug"` - Bug fix mode (read ./proagents/workflow-modes/entry-modes.md)
|
|
11
|
-
- `pa:status` - Show progress
|
|
12
19
|
|
|
13
20
|
### Documentation
|
|
14
21
|
- `pa:doc` - Documentation options
|
|
@@ -23,7 +30,7 @@ This project uses ProAgents workflow framework. Recognize `pa:` prefix commands.
|
|
|
23
30
|
- `pa:release` - Release notes
|
|
24
31
|
- `pa:release [ver]` - Version-specific notes
|
|
25
32
|
|
|
26
|
-
### Quality
|
|
33
|
+
### Quality & Testing
|
|
27
34
|
- `pa:qa` - Quality checks (read ./proagents/checklists/code-quality.md)
|
|
28
35
|
- `pa:test` - Test workflow (read ./proagents/prompts/06-testing.md)
|
|
29
36
|
- `pa:review` - Code review
|
|
@@ -32,6 +39,23 @@ This project uses ProAgents workflow framework. Recognize `pa:` prefix commands.
|
|
|
32
39
|
- `pa:deploy` - Deployment (read ./proagents/prompts/08-deployment.md)
|
|
33
40
|
- `pa:rollback` - Rollback procedures
|
|
34
41
|
|
|
42
|
+
### AI Platform Management
|
|
43
|
+
- `pa:ai-list` - List installed AI platforms
|
|
44
|
+
- `pa:ai-add` - Add more AI platforms
|
|
45
|
+
- `pa:ai-remove` - Remove AI platforms from config
|
|
46
|
+
|
|
47
|
+
### Configuration
|
|
48
|
+
- `pa:config` - Show current configuration
|
|
49
|
+
- `pa:config-list` - List all configurable options
|
|
50
|
+
- `pa:config-show` - Show current config values
|
|
51
|
+
- `pa:config-set K V` - Set a config value
|
|
52
|
+
- `pa:config-get K` - Get a config value
|
|
53
|
+
- `pa:config-setup` - Interactive config wizard
|
|
54
|
+
- `pa:config-customize` - Copy templates to customize
|
|
55
|
+
|
|
56
|
+
### Utilities
|
|
57
|
+
- `pa:uninstall` - Remove ProAgents from project
|
|
58
|
+
|
|
35
59
|
## On `pa:` Command
|
|
36
60
|
|
|
37
61
|
1. Read corresponding file in `./proagents/prompts/` or `./proagents/workflow-modes/`
|
package/proagents/.windsurfrules
CHANGED
|
@@ -8,11 +8,18 @@ Recognize commands with `pa:` prefix and execute the corresponding workflow.
|
|
|
8
8
|
|
|
9
9
|
## Available Commands
|
|
10
10
|
|
|
11
|
-
###
|
|
11
|
+
### Initialization
|
|
12
|
+
- `pa:init` - Initialize ProAgents in project
|
|
12
13
|
- `pa:help` - Show all available commands
|
|
14
|
+
- `pa:status` - Show current progress
|
|
15
|
+
|
|
16
|
+
### Feature Development
|
|
13
17
|
- `pa:feature "name"` - Start new feature (read ./proagents/WORKFLOW.md)
|
|
18
|
+
- `pa:feature-start "name"` - Start new feature
|
|
19
|
+
- `pa:feature-status` - Check feature status
|
|
20
|
+
- `pa:feature-list` - List all features
|
|
21
|
+
- `pa:feature-complete` - Mark feature complete
|
|
14
22
|
- `pa:fix "description"` - Quick bug fix mode (read ./proagents/workflow-modes/entry-modes.md)
|
|
15
|
-
- `pa:status` - Show current progress
|
|
16
23
|
|
|
17
24
|
### Documentation Commands
|
|
18
25
|
- `pa:doc` - Show documentation options
|
|
@@ -27,15 +34,32 @@ Recognize commands with `pa:` prefix and execute the corresponding workflow.
|
|
|
27
34
|
- `pa:release` - Generate release notes
|
|
28
35
|
- `pa:release [version]` - Version-specific release notes
|
|
29
36
|
|
|
30
|
-
### Quality
|
|
37
|
+
### Quality & Testing
|
|
31
38
|
- `pa:qa` - Run quality checks (read ./proagents/checklists/code-quality.md)
|
|
32
39
|
- `pa:test` - Run test workflow (read ./proagents/prompts/06-testing.md)
|
|
33
40
|
- `pa:review` - Code review workflow
|
|
34
41
|
|
|
35
|
-
### Deployment
|
|
42
|
+
### Deployment
|
|
36
43
|
- `pa:deploy` - Deployment preparation (read ./proagents/prompts/08-deployment.md)
|
|
37
44
|
- `pa:rollback` - Rollback procedures
|
|
38
45
|
|
|
46
|
+
### AI Platform Management
|
|
47
|
+
- `pa:ai-list` - List installed AI platforms
|
|
48
|
+
- `pa:ai-add` - Add more AI platforms
|
|
49
|
+
- `pa:ai-remove` - Remove AI platforms from config
|
|
50
|
+
|
|
51
|
+
### Configuration
|
|
52
|
+
- `pa:config` - Show current configuration
|
|
53
|
+
- `pa:config-list` - List all configurable options
|
|
54
|
+
- `pa:config-show` - Show current config values
|
|
55
|
+
- `pa:config-set K V` - Set a config value
|
|
56
|
+
- `pa:config-get K` - Get a config value
|
|
57
|
+
- `pa:config-setup` - Interactive config wizard
|
|
58
|
+
- `pa:config-customize` - Copy templates to customize
|
|
59
|
+
|
|
60
|
+
### Utilities
|
|
61
|
+
- `pa:uninstall` - Remove ProAgents from project
|
|
62
|
+
|
|
39
63
|
## Execution Instructions
|
|
40
64
|
|
|
41
65
|
When user types a `pa:` command:
|
|
@@ -6,13 +6,22 @@ This project uses ProAgents - an AI-agnostic development workflow framework.
|
|
|
6
6
|
|
|
7
7
|
When the user types commands starting with `pa:`, recognize and execute them:
|
|
8
8
|
|
|
9
|
-
###
|
|
9
|
+
### Initialization
|
|
10
10
|
| Command | Action |
|
|
11
11
|
|---------|--------|
|
|
12
|
+
| `pa:init` | Initialize ProAgents in project |
|
|
12
13
|
| `pa:help` | Show all available commands |
|
|
14
|
+
| `pa:status` | Show current progress |
|
|
15
|
+
|
|
16
|
+
### Feature Development
|
|
17
|
+
| Command | Action |
|
|
18
|
+
|---------|--------|
|
|
13
19
|
| `pa:feature "name"` | Start new feature workflow |
|
|
20
|
+
| `pa:feature-start "name"` | Start new feature |
|
|
21
|
+
| `pa:feature-status` | Check feature status |
|
|
22
|
+
| `pa:feature-list` | List all features |
|
|
23
|
+
| `pa:feature-complete` | Mark feature complete |
|
|
14
24
|
| `pa:fix "description"` | Quick bug fix mode |
|
|
15
|
-
| `pa:status` | Show current progress |
|
|
16
25
|
|
|
17
26
|
### Documentation Commands
|
|
18
27
|
| Command | Action |
|
|
@@ -29,19 +38,42 @@ When the user types commands starting with `pa:`, recognize and execute them:
|
|
|
29
38
|
| `pa:release` | Generate release notes |
|
|
30
39
|
| `pa:release [version]` | Version-specific release notes |
|
|
31
40
|
|
|
32
|
-
### Quality
|
|
41
|
+
### Quality & Testing
|
|
33
42
|
| Command | Action |
|
|
34
43
|
|---------|--------|
|
|
35
44
|
| `pa:qa` | Run quality assurance checks |
|
|
36
45
|
| `pa:test` | Run test workflow |
|
|
37
46
|
| `pa:review` | Code review workflow |
|
|
38
47
|
|
|
39
|
-
### Deployment
|
|
48
|
+
### Deployment
|
|
40
49
|
| Command | Action |
|
|
41
50
|
|---------|--------|
|
|
42
51
|
| `pa:deploy` | Deployment preparation |
|
|
43
52
|
| `pa:rollback` | Rollback procedures |
|
|
44
53
|
|
|
54
|
+
### AI Platform Management
|
|
55
|
+
| Command | Action |
|
|
56
|
+
|---------|--------|
|
|
57
|
+
| `pa:ai-list` | List installed AI platforms |
|
|
58
|
+
| `pa:ai-add` | Add more AI platforms |
|
|
59
|
+
| `pa:ai-remove` | Remove AI platforms from config |
|
|
60
|
+
|
|
61
|
+
### Configuration
|
|
62
|
+
| Command | Action |
|
|
63
|
+
|---------|--------|
|
|
64
|
+
| `pa:config` | Show current configuration |
|
|
65
|
+
| `pa:config-list` | List all configurable options |
|
|
66
|
+
| `pa:config-show` | Show current config values |
|
|
67
|
+
| `pa:config-set K V` | Set a config value |
|
|
68
|
+
| `pa:config-get K` | Get a config value |
|
|
69
|
+
| `pa:config-setup` | Interactive config wizard |
|
|
70
|
+
| `pa:config-customize` | Copy templates to customize |
|
|
71
|
+
|
|
72
|
+
### Utilities
|
|
73
|
+
| Command | Action |
|
|
74
|
+
|---------|--------|
|
|
75
|
+
| `pa:uninstall` | Remove ProAgents from project |
|
|
76
|
+
|
|
45
77
|
## How to Execute Commands
|
|
46
78
|
|
|
47
79
|
When user types a `pa:` command:
|