agentic-swe 1.0.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.
Files changed (191) hide show
  1. package/.claude/agents/developer.md +133 -0
  2. package/.claude/agents/git-ops.md +94 -0
  3. package/.claude/agents/panel/adversarial.md +35 -0
  4. package/.claude/agents/panel/architect.md +36 -0
  5. package/.claude/agents/panel/security.md +36 -0
  6. package/.claude/agents/pr-manager.md +76 -0
  7. package/.claude/agents/subagents/01-core-development/api-designer.md +237 -0
  8. package/.claude/agents/subagents/01-core-development/backend-developer.md +222 -0
  9. package/.claude/agents/subagents/01-core-development/electron-pro.md +251 -0
  10. package/.claude/agents/subagents/01-core-development/frontend-developer.md +159 -0
  11. package/.claude/agents/subagents/01-core-development/fullstack-developer.md +246 -0
  12. package/.claude/agents/subagents/01-core-development/graphql-architect.md +238 -0
  13. package/.claude/agents/subagents/01-core-development/microservices-architect.md +239 -0
  14. package/.claude/agents/subagents/01-core-development/mobile-developer.md +283 -0
  15. package/.claude/agents/subagents/01-core-development/ui-designer.md +200 -0
  16. package/.claude/agents/subagents/01-core-development/websocket-engineer.md +150 -0
  17. package/.claude/agents/subagents/02-language-specialists/angular-architect.md +287 -0
  18. package/.claude/agents/subagents/02-language-specialists/cpp-pro.md +277 -0
  19. package/.claude/agents/subagents/02-language-specialists/csharp-developer.md +287 -0
  20. package/.claude/agents/subagents/02-language-specialists/django-developer.md +287 -0
  21. package/.claude/agents/subagents/02-language-specialists/dotnet-core-expert.md +287 -0
  22. package/.claude/agents/subagents/02-language-specialists/dotnet-framework-4.8-expert.md +306 -0
  23. package/.claude/agents/subagents/02-language-specialists/elixir-expert.md +311 -0
  24. package/.claude/agents/subagents/02-language-specialists/expo-react-native-expert.md +268 -0
  25. package/.claude/agents/subagents/02-language-specialists/fastapi-developer.md +287 -0
  26. package/.claude/agents/subagents/02-language-specialists/flutter-expert.md +287 -0
  27. package/.claude/agents/subagents/02-language-specialists/golang-pro.md +277 -0
  28. package/.claude/agents/subagents/02-language-specialists/java-architect.md +287 -0
  29. package/.claude/agents/subagents/02-language-specialists/javascript-pro.md +277 -0
  30. package/.claude/agents/subagents/02-language-specialists/kotlin-specialist.md +287 -0
  31. package/.claude/agents/subagents/02-language-specialists/laravel-specialist.md +287 -0
  32. package/.claude/agents/subagents/02-language-specialists/nextjs-developer.md +298 -0
  33. package/.claude/agents/subagents/02-language-specialists/php-pro.md +287 -0
  34. package/.claude/agents/subagents/02-language-specialists/powershell-5.1-expert.md +59 -0
  35. package/.claude/agents/subagents/02-language-specialists/powershell-7-expert.md +57 -0
  36. package/.claude/agents/subagents/02-language-specialists/python-pro.md +277 -0
  37. package/.claude/agents/subagents/02-language-specialists/rails-expert.md +358 -0
  38. package/.claude/agents/subagents/02-language-specialists/react-specialist.md +298 -0
  39. package/.claude/agents/subagents/02-language-specialists/rust-engineer.md +287 -0
  40. package/.claude/agents/subagents/02-language-specialists/spring-boot-engineer.md +287 -0
  41. package/.claude/agents/subagents/02-language-specialists/sql-pro.md +287 -0
  42. package/.claude/agents/subagents/02-language-specialists/swift-expert.md +287 -0
  43. package/.claude/agents/subagents/02-language-specialists/symfony-specialist.md +354 -0
  44. package/.claude/agents/subagents/02-language-specialists/typescript-pro.md +277 -0
  45. package/.claude/agents/subagents/02-language-specialists/vue-expert.md +298 -0
  46. package/.claude/agents/subagents/03-infrastructure/azure-infra-engineer.md +53 -0
  47. package/.claude/agents/subagents/03-infrastructure/cloud-architect.md +277 -0
  48. package/.claude/agents/subagents/03-infrastructure/database-administrator.md +287 -0
  49. package/.claude/agents/subagents/03-infrastructure/deployment-engineer.md +287 -0
  50. package/.claude/agents/subagents/03-infrastructure/devops-engineer.md +287 -0
  51. package/.claude/agents/subagents/03-infrastructure/devops-incident-responder.md +287 -0
  52. package/.claude/agents/subagents/03-infrastructure/docker-expert.md +278 -0
  53. package/.claude/agents/subagents/03-infrastructure/incident-responder.md +287 -0
  54. package/.claude/agents/subagents/03-infrastructure/kubernetes-specialist.md +287 -0
  55. package/.claude/agents/subagents/03-infrastructure/network-engineer.md +287 -0
  56. package/.claude/agents/subagents/03-infrastructure/platform-engineer.md +287 -0
  57. package/.claude/agents/subagents/03-infrastructure/security-engineer.md +277 -0
  58. package/.claude/agents/subagents/03-infrastructure/sre-engineer.md +287 -0
  59. package/.claude/agents/subagents/03-infrastructure/terraform-engineer.md +287 -0
  60. package/.claude/agents/subagents/03-infrastructure/terragrunt-expert.md +307 -0
  61. package/.claude/agents/subagents/03-infrastructure/windows-infra-admin.md +52 -0
  62. package/.claude/agents/subagents/04-quality-security/accessibility-tester.md +277 -0
  63. package/.claude/agents/subagents/04-quality-security/ad-security-reviewer.md +56 -0
  64. package/.claude/agents/subagents/04-quality-security/architect-reviewer.md +287 -0
  65. package/.claude/agents/subagents/04-quality-security/chaos-engineer.md +277 -0
  66. package/.claude/agents/subagents/04-quality-security/code-reviewer.md +287 -0
  67. package/.claude/agents/subagents/04-quality-security/compliance-auditor.md +277 -0
  68. package/.claude/agents/subagents/04-quality-security/debugger.md +287 -0
  69. package/.claude/agents/subagents/04-quality-security/error-detective.md +287 -0
  70. package/.claude/agents/subagents/04-quality-security/penetration-tester.md +287 -0
  71. package/.claude/agents/subagents/04-quality-security/performance-engineer.md +287 -0
  72. package/.claude/agents/subagents/04-quality-security/powershell-security-hardening.md +54 -0
  73. package/.claude/agents/subagents/04-quality-security/qa-expert.md +287 -0
  74. package/.claude/agents/subagents/04-quality-security/security-auditor.md +287 -0
  75. package/.claude/agents/subagents/04-quality-security/test-automator.md +287 -0
  76. package/.claude/agents/subagents/05-data-ai/ai-engineer.md +287 -0
  77. package/.claude/agents/subagents/05-data-ai/data-analyst.md +277 -0
  78. package/.claude/agents/subagents/05-data-ai/data-engineer.md +287 -0
  79. package/.claude/agents/subagents/05-data-ai/data-scientist.md +287 -0
  80. package/.claude/agents/subagents/05-data-ai/database-optimizer.md +287 -0
  81. package/.claude/agents/subagents/05-data-ai/llm-architect.md +287 -0
  82. package/.claude/agents/subagents/05-data-ai/machine-learning-engineer.md +277 -0
  83. package/.claude/agents/subagents/05-data-ai/ml-engineer.md +287 -0
  84. package/.claude/agents/subagents/05-data-ai/mlops-engineer.md +287 -0
  85. package/.claude/agents/subagents/05-data-ai/nlp-engineer.md +287 -0
  86. package/.claude/agents/subagents/05-data-ai/postgres-pro.md +287 -0
  87. package/.claude/agents/subagents/05-data-ai/prompt-engineer.md +287 -0
  88. package/.claude/agents/subagents/05-data-ai/reinforcement-learning-engineer.md +277 -0
  89. package/.claude/agents/subagents/06-developer-experience/build-engineer.md +286 -0
  90. package/.claude/agents/subagents/06-developer-experience/cli-developer.md +286 -0
  91. package/.claude/agents/subagents/06-developer-experience/dependency-manager.md +286 -0
  92. package/.claude/agents/subagents/06-developer-experience/documentation-engineer.md +276 -0
  93. package/.claude/agents/subagents/06-developer-experience/dx-optimizer.md +286 -0
  94. package/.claude/agents/subagents/06-developer-experience/git-workflow-manager.md +286 -0
  95. package/.claude/agents/subagents/06-developer-experience/legacy-modernizer.md +286 -0
  96. package/.claude/agents/subagents/06-developer-experience/mcp-developer.md +275 -0
  97. package/.claude/agents/subagents/06-developer-experience/powershell-module-architect.md +58 -0
  98. package/.claude/agents/subagents/06-developer-experience/powershell-ui-architect.md +135 -0
  99. package/.claude/agents/subagents/06-developer-experience/refactoring-specialist.md +286 -0
  100. package/.claude/agents/subagents/06-developer-experience/slack-expert.md +232 -0
  101. package/.claude/agents/subagents/06-developer-experience/tooling-engineer.md +286 -0
  102. package/.claude/agents/subagents/07-specialized-domains/api-documenter.md +277 -0
  103. package/.claude/agents/subagents/07-specialized-domains/blockchain-developer.md +287 -0
  104. package/.claude/agents/subagents/07-specialized-domains/embedded-systems.md +287 -0
  105. package/.claude/agents/subagents/07-specialized-domains/fintech-engineer.md +287 -0
  106. package/.claude/agents/subagents/07-specialized-domains/game-developer.md +287 -0
  107. package/.claude/agents/subagents/07-specialized-domains/iot-engineer.md +287 -0
  108. package/.claude/agents/subagents/07-specialized-domains/m365-admin.md +48 -0
  109. package/.claude/agents/subagents/07-specialized-domains/mobile-app-developer.md +287 -0
  110. package/.claude/agents/subagents/07-specialized-domains/payment-integration.md +287 -0
  111. package/.claude/agents/subagents/07-specialized-domains/quant-analyst.md +287 -0
  112. package/.claude/agents/subagents/07-specialized-domains/risk-manager.md +287 -0
  113. package/.claude/agents/subagents/07-specialized-domains/seo-specialist.md +184 -0
  114. package/.claude/agents/subagents/08-business-product/business-analyst.md +287 -0
  115. package/.claude/agents/subagents/08-business-product/content-marketer.md +287 -0
  116. package/.claude/agents/subagents/08-business-product/customer-success-manager.md +287 -0
  117. package/.claude/agents/subagents/08-business-product/legal-advisor.md +287 -0
  118. package/.claude/agents/subagents/08-business-product/product-manager.md +287 -0
  119. package/.claude/agents/subagents/08-business-product/project-manager.md +287 -0
  120. package/.claude/agents/subagents/08-business-product/sales-engineer.md +287 -0
  121. package/.claude/agents/subagents/08-business-product/scrum-master.md +287 -0
  122. package/.claude/agents/subagents/08-business-product/technical-writer.md +287 -0
  123. package/.claude/agents/subagents/08-business-product/ux-researcher.md +287 -0
  124. package/.claude/agents/subagents/08-business-product/wordpress-master.md +316 -0
  125. package/.claude/agents/subagents/09-meta-orchestration/agent-installer.md +97 -0
  126. package/.claude/agents/subagents/09-meta-orchestration/agent-organizer.md +287 -0
  127. package/.claude/agents/subagents/09-meta-orchestration/context-manager.md +287 -0
  128. package/.claude/agents/subagents/09-meta-orchestration/error-coordinator.md +287 -0
  129. package/.claude/agents/subagents/09-meta-orchestration/it-ops-orchestrator.md +60 -0
  130. package/.claude/agents/subagents/09-meta-orchestration/knowledge-synthesizer.md +287 -0
  131. package/.claude/agents/subagents/09-meta-orchestration/multi-agent-coordinator.md +287 -0
  132. package/.claude/agents/subagents/09-meta-orchestration/performance-monitor.md +287 -0
  133. package/.claude/agents/subagents/09-meta-orchestration/task-distributor.md +287 -0
  134. package/.claude/agents/subagents/09-meta-orchestration/workflow-orchestrator.md +287 -0
  135. package/.claude/agents/subagents/10-research-analysis/competitive-analyst.md +287 -0
  136. package/.claude/agents/subagents/10-research-analysis/data-researcher.md +287 -0
  137. package/.claude/agents/subagents/10-research-analysis/market-researcher.md +287 -0
  138. package/.claude/agents/subagents/10-research-analysis/research-analyst.md +287 -0
  139. package/.claude/agents/subagents/10-research-analysis/scientific-literature-researcher.md +151 -0
  140. package/.claude/agents/subagents/10-research-analysis/search-specialist.md +287 -0
  141. package/.claude/agents/subagents/10-research-analysis/trend-analyst.md +287 -0
  142. package/.claude/commands/check.md +58 -0
  143. package/.claude/commands/ci-status.md +68 -0
  144. package/.claude/commands/conflict-resolver.md +76 -0
  145. package/.claude/commands/diff-review.md +123 -0
  146. package/.claude/commands/evaluate-work.md +25 -0
  147. package/.claude/commands/install.md +60 -0
  148. package/.claude/commands/lint.md +86 -0
  149. package/.claude/commands/plan-only.md +28 -0
  150. package/.claude/commands/repo-scan.md +96 -0
  151. package/.claude/commands/security-scan.md +98 -0
  152. package/.claude/commands/subagent.md +109 -0
  153. package/.claude/commands/test-runner.md +85 -0
  154. package/.claude/commands/work.md +76 -0
  155. package/.claude/phases/code-review.md +92 -0
  156. package/.claude/phases/completion.md +57 -0
  157. package/.claude/phases/design-review.md +66 -0
  158. package/.claude/phases/design.md +59 -0
  159. package/.claude/phases/escalate-code.md +34 -0
  160. package/.claude/phases/escalate-validation.md +33 -0
  161. package/.claude/phases/failed.md +35 -0
  162. package/.claude/phases/fast-implementation.md +59 -0
  163. package/.claude/phases/fast-path-check.md +46 -0
  164. package/.claude/phases/feasibility.md +80 -0
  165. package/.claude/phases/implementation.md +43 -0
  166. package/.claude/phases/permissions.md +42 -0
  167. package/.claude/phases/pr-created.md +50 -0
  168. package/.claude/phases/self-review.md +53 -0
  169. package/.claude/phases/subagent-selection.md +298 -0
  170. package/.claude/phases/test.md +68 -0
  171. package/.claude/phases/validation.md +58 -0
  172. package/.claude/phases/verification.md +45 -0
  173. package/.claude/references/frontend-aesthetics.md +91 -0
  174. package/.claude/references/github.md +73 -0
  175. package/.claude/templates/artifact-format.md +33 -0
  176. package/.claude/templates/audit.log +30 -0
  177. package/.claude/templates/evidence-standard.md +19 -0
  178. package/.claude/templates/phase-checklist.md +62 -0
  179. package/.claude/templates/progress.md +15 -0
  180. package/.claude/templates/state.json +108 -0
  181. package/.claude/tools/subagent-catalog/README.md +58 -0
  182. package/.claude/tools/subagent-catalog/config.sh +88 -0
  183. package/.claude/tools/subagent-catalog/fetch.md +54 -0
  184. package/.claude/tools/subagent-catalog/invalidate.md +47 -0
  185. package/.claude/tools/subagent-catalog/list.md +48 -0
  186. package/.claude/tools/subagent-catalog/search.md +41 -0
  187. package/CLAUDE.md +342 -0
  188. package/LICENSE +21 -0
  189. package/README.md +204 -0
  190. package/bin/agentic-swe.js +241 -0
  191. package/package.json +43 -0
@@ -0,0 +1,241 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Installs Agentic SWE into a target project (same behavior as install.sh).
4
+ */
5
+ 'use strict';
6
+
7
+ const fs = require('fs');
8
+ const path = require('path');
9
+ const readline = require('readline');
10
+ const { spawnSync } = require('child_process');
11
+
12
+ const DELIMITER =
13
+ '<!-- BEGIN autonomous-swe-pipeline policy -- do not edit above this line -->';
14
+ const SUBDIRS = ['commands', 'phases', 'agents', 'templates', 'references', 'tools'];
15
+
16
+ function pkgRoot() {
17
+ return path.join(__dirname, '..');
18
+ }
19
+
20
+ function parseArgs(argv) {
21
+ const args = { help: false, yes: false, target: null };
22
+ const rest = [];
23
+ for (let i = 2; i < argv.length; i++) {
24
+ const a = argv[i];
25
+ if (a === '-h' || a === '--help') args.help = true;
26
+ else if (a === '-y' || a === '--yes') args.yes = true;
27
+ else if (!a.startsWith('-')) rest.push(a);
28
+ }
29
+ if (rest[0] === 'install' && rest[1]) args.target = path.resolve(rest[1]);
30
+ else if (rest[0] === 'install' && !rest[1]) args.target = process.cwd();
31
+ else if (rest[0] && rest[0] !== 'install') args.target = path.resolve(rest[0]);
32
+ else if (!rest.length) args.target = process.cwd();
33
+ return args;
34
+ }
35
+
36
+ function printHelp() {
37
+ console.log(`Usage:
38
+ agentic-swe [options] [path]
39
+ agentic-swe install [path]
40
+
41
+ Install the Agentic SWE pipeline into a project directory (default: current directory).
42
+
43
+ Options:
44
+ -y, --yes Skip the prompt when the target is not a git repository
45
+ -h, --help Show this help
46
+ `);
47
+ }
48
+
49
+ function isGitRepo(dir) {
50
+ const r = spawnSync('git', ['-C', dir, 'rev-parse', '--git-dir'], {
51
+ encoding: 'utf8',
52
+ stdio: ['ignore', 'pipe', 'ignore'],
53
+ });
54
+ return r.status === 0;
55
+ }
56
+
57
+ function stripTrailingBlankAndRule(content) {
58
+ let lines = content.replace(/\r\n/g, '\n').split('\n');
59
+ while (lines.length && lines[lines.length - 1].trim() === '') lines.pop();
60
+ while (lines.length && lines[lines.length - 1].trim() === '---') lines.pop();
61
+ while (lines.length && lines[lines.length - 1].trim() === '') lines.pop();
62
+ return lines.join('\n');
63
+ }
64
+
65
+ function countSubagentMd(dir) {
66
+ let n = 0;
67
+ const subagents = path.join(dir, 'agents', 'subagents');
68
+ if (!fs.existsSync(subagents)) return 0;
69
+ function walk(d) {
70
+ for (const name of fs.readdirSync(d, { withFileTypes: true })) {
71
+ const p = path.join(d, name.name);
72
+ if (name.isDirectory()) walk(p);
73
+ else if (name.isFile() && name.name.endsWith('.md')) n++;
74
+ }
75
+ }
76
+ walk(subagents);
77
+ return n;
78
+ }
79
+
80
+ function countGlob(dir, pattern) {
81
+ if (!fs.existsSync(dir)) return 0;
82
+ return fs.readdirSync(dir).filter((f) => f.endsWith('.md')).length;
83
+ }
84
+
85
+ async function confirmNonGit() {
86
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
87
+ return new Promise((resolve) => {
88
+ rl.question('Continue anyway? [y/N] ', (answer) => {
89
+ rl.close();
90
+ resolve(/^y$/i.test(answer.trim()));
91
+ });
92
+ });
93
+ }
94
+
95
+ function appendGitignore(targetDir) {
96
+ const gitignorePath = path.join(targetDir, '.gitignore');
97
+ const line = '.claude/.work/';
98
+ if (fs.existsSync(gitignorePath)) {
99
+ const body = fs.readFileSync(gitignorePath, 'utf8');
100
+ if (!body.split(/\r?\n/).includes(line)) {
101
+ fs.appendFileSync(gitignorePath, (body.endsWith('\n') ? '' : '\n') + line + '\n');
102
+ console.log('Added .claude/.work/ to .gitignore');
103
+ }
104
+ } else {
105
+ fs.writeFileSync(gitignorePath, line + '\n');
106
+ console.log('Created .gitignore with .claude/.work/');
107
+ }
108
+ }
109
+
110
+ function install() {
111
+ const args = parseArgs(process.argv);
112
+ if (args.help) {
113
+ printHelp();
114
+ process.exit(0);
115
+ }
116
+
117
+ const root = pkgRoot();
118
+ const sourceClaude = path.join(root, '.claude');
119
+ const sourceClaudeMd = path.join(root, 'CLAUDE.md');
120
+ const targetDir = path.resolve(args.target || process.cwd());
121
+
122
+ if (!fs.existsSync(path.join(sourceClaude, 'phases')) || !fs.existsSync(path.join(sourceClaude, 'commands'))) {
123
+ console.error(
124
+ 'ERROR: Could not find .claude/phases/ or .claude/commands/ next to this CLI.\n' +
125
+ ' Reinstall the agentic-swe package or run from a full clone.'
126
+ );
127
+ process.exit(1);
128
+ }
129
+
130
+ if (!fs.existsSync(sourceClaudeMd)) {
131
+ console.error('ERROR: CLAUDE.md missing from package root.');
132
+ process.exit(1);
133
+ }
134
+
135
+ if (path.resolve(root) === targetDir) {
136
+ console.error(
137
+ 'ERROR: Target is the same as the agentic-swe package root.\n' +
138
+ ' Point at your project directory, e.g. agentic-swe /path/to/your/project'
139
+ );
140
+ process.exit(1);
141
+ }
142
+
143
+ if (!fs.existsSync(targetDir)) {
144
+ console.error(`ERROR: Directory does not exist: ${targetDir}`);
145
+ process.exit(1);
146
+ }
147
+
148
+ (async () => {
149
+ if (!isGitRepo(targetDir)) {
150
+ console.warn(`WARNING: ${targetDir} is not a git repository.`);
151
+ if (!args.yes) {
152
+ const ok = await confirmNonGit();
153
+ if (!ok) process.exit(1);
154
+ }
155
+ }
156
+
157
+ console.log('=== Agentic SWE Pipeline Installer ===\n');
158
+ console.log(`Source: ${sourceClaude}`);
159
+ console.log(`Target: ${path.join(targetDir, '.claude')}\n`);
160
+
161
+ console.log('Copying pipeline files...');
162
+ const targetClaude = path.join(targetDir, '.claude');
163
+ fs.mkdirSync(targetClaude, { recursive: true });
164
+
165
+ for (const dir of SUBDIRS) {
166
+ const from = path.join(sourceClaude, dir);
167
+ if (fs.existsSync(from)) {
168
+ fs.cpSync(from, path.join(targetClaude, dir), { recursive: true });
169
+ }
170
+ }
171
+
172
+ const workDir = path.join(targetClaude, '.work');
173
+ fs.mkdirSync(workDir, { recursive: true });
174
+ fs.writeFileSync(path.join(workDir, '.gitkeep'), '');
175
+
176
+ if (fs.existsSync(path.join(targetClaude, 'settings.local.json'))) {
177
+ console.log(' Preserving existing settings.local.json');
178
+ }
179
+
180
+ const agentCount = countSubagentMd(targetClaude);
181
+
182
+ const policyBody = fs.readFileSync(sourceClaudeMd, 'utf8');
183
+ const targetClaudeMd = path.join(targetDir, 'CLAUDE.md');
184
+
185
+ console.log('Setting up CLAUDE.md...');
186
+ if (fs.existsSync(targetClaudeMd)) {
187
+ let existing = fs.readFileSync(targetClaudeMd, 'utf8');
188
+ if (existing.includes('BEGIN autonomous-swe-pipeline policy')) {
189
+ console.log(' Updating existing pipeline policy...');
190
+ const idx = existing.indexOf(DELIMITER);
191
+ if (idx === -1) {
192
+ console.log(' (delimiter not found; appending policy block)');
193
+ existing =
194
+ existing.trimEnd() +
195
+ '\n\n---\n\n' +
196
+ DELIMITER +
197
+ '\n\n' +
198
+ policyBody;
199
+ } else {
200
+ const before = stripTrailingBlankAndRule(existing.slice(0, idx));
201
+ existing = before + '\n\n---\n\n' + DELIMITER + '\n\n' + policyBody;
202
+ }
203
+ fs.writeFileSync(targetClaudeMd, existing);
204
+ } else {
205
+ console.log(' Appending pipeline policy to existing CLAUDE.md...');
206
+ fs.appendFileSync(
207
+ targetClaudeMd,
208
+ '\n\n---\n\n' + DELIMITER + '\n\n' + policyBody
209
+ );
210
+ }
211
+ } else {
212
+ console.log(' Creating CLAUDE.md...');
213
+ fs.copyFileSync(sourceClaudeMd, targetClaudeMd);
214
+ }
215
+
216
+ appendGitignore(targetDir);
217
+
218
+ const cmdCount = countGlob(path.join(targetClaude, 'commands'));
219
+ const phaseCount = countGlob(path.join(targetClaude, 'phases'));
220
+ const coreAgents = fs.existsSync(path.join(targetClaude, 'agents'))
221
+ ? fs.readdirSync(path.join(targetClaude, 'agents')).filter(
222
+ (f) => f.endsWith('.md') && !fs.statSync(path.join(targetClaude, 'agents', f)).isDirectory()
223
+ ).length
224
+ : 0;
225
+ const panelCount = countGlob(path.join(targetClaude, 'agents', 'panel'));
226
+
227
+ console.log('\n=== Installation complete ===\n');
228
+ console.log(` Commands: ${cmdCount} slash commands`);
229
+ console.log(` Phases: ${phaseCount} phase prompts`);
230
+ console.log(` Agents: ${coreAgents} core + ${panelCount} panel`);
231
+ console.log(` Subagents: ${agentCount} specialized subagents\n`);
232
+ console.log('Next steps:');
233
+ console.log(` cd ${targetDir} && claude`);
234
+ console.log(' /work <your task description>\n');
235
+ })().catch((e) => {
236
+ console.error(e);
237
+ process.exit(1);
238
+ });
239
+ }
240
+
241
+ install();
package/package.json ADDED
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "agentic-swe",
3
+ "version": "1.0.0",
4
+ "description": "Autonomous SWE pipeline for Claude Code — install markdown policies, phases, and agents into your repo",
5
+ "license": "MIT",
6
+ "author": "Suraj Gupta",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/surajSFDC/agentic-swe.git"
10
+ },
11
+ "homepage": "https://github.com/surajSFDC/agentic-swe#readme",
12
+ "bugs": {
13
+ "url": "https://github.com/surajSFDC/agentic-swe/issues"
14
+ },
15
+ "keywords": [
16
+ "claude",
17
+ "claude-code",
18
+ "agent",
19
+ "swe",
20
+ "pipeline",
21
+ "orchestration"
22
+ ],
23
+ "engines": {
24
+ "node": ">=18"
25
+ },
26
+ "bin": {
27
+ "agentic-swe": "bin/agentic-swe.js"
28
+ },
29
+ "files": [
30
+ "bin",
31
+ "CLAUDE.md",
32
+ ".claude/commands",
33
+ ".claude/phases",
34
+ ".claude/agents",
35
+ ".claude/templates",
36
+ ".claude/references",
37
+ ".claude/tools"
38
+ ],
39
+ "scripts": {
40
+ "prepack": "node -e \"const fs=require('fs');const p=require('path');const r=p.join('.claude','phases');if(!fs.existsSync(r))process.exit(1)\"",
41
+ "test": "node bin/agentic-swe.js --help"
42
+ }
43
+ }