@bhimudev/gnanai 0.4.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/README.md +270 -0
- package/dist/bin/cli.d.ts +3 -0
- package/dist/bin/cli.d.ts.map +1 -0
- package/dist/bin/cli.js +188 -0
- package/dist/bin/cli.js.map +1 -0
- package/dist/commands/cleanup.d.ts +21 -0
- package/dist/commands/cleanup.d.ts.map +1 -0
- package/dist/commands/cleanup.js +380 -0
- package/dist/commands/cleanup.js.map +1 -0
- package/dist/commands/dispatch.d.ts +13 -0
- package/dist/commands/dispatch.d.ts.map +1 -0
- package/dist/commands/dispatch.js +85 -0
- package/dist/commands/dispatch.js.map +1 -0
- package/dist/commands/doctor.d.ts +2 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +155 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/generate.d.ts +3 -0
- package/dist/commands/generate.d.ts.map +1 -0
- package/dist/commands/generate.js +167 -0
- package/dist/commands/generate.js.map +1 -0
- package/dist/commands/init.d.ts +10 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +711 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/knowledge-sync.d.ts +69 -0
- package/dist/commands/knowledge-sync.d.ts.map +1 -0
- package/dist/commands/knowledge-sync.js +661 -0
- package/dist/commands/knowledge-sync.js.map +1 -0
- package/dist/commands/knowledge.d.ts +35 -0
- package/dist/commands/knowledge.d.ts.map +1 -0
- package/dist/commands/knowledge.js +254 -0
- package/dist/commands/knowledge.js.map +1 -0
- package/dist/commands/rollback.d.ts +13 -0
- package/dist/commands/rollback.d.ts.map +1 -0
- package/dist/commands/rollback.js +186 -0
- package/dist/commands/rollback.js.map +1 -0
- package/dist/commands/setup-config.d.ts +6 -0
- package/dist/commands/setup-config.d.ts.map +1 -0
- package/dist/commands/setup-config.js +663 -0
- package/dist/commands/setup-config.js.map +1 -0
- package/dist/commands/setup-project.d.ts +6 -0
- package/dist/commands/setup-project.d.ts.map +1 -0
- package/dist/commands/setup-project.js +361 -0
- package/dist/commands/setup-project.js.map +1 -0
- package/dist/commands/setup.d.ts +3 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +293 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/status.d.ts +51 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +182 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/uninstall.d.ts +3 -0
- package/dist/commands/uninstall.d.ts.map +1 -0
- package/dist/commands/uninstall.js +173 -0
- package/dist/commands/uninstall.js.map +1 -0
- package/dist/commands/update.d.ts +10 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +435 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/commands/worktree.d.ts +30 -0
- package/dist/commands/worktree.d.ts.map +1 -0
- package/dist/commands/worktree.js +262 -0
- package/dist/commands/worktree.js.map +1 -0
- package/dist/generator/claude-cli.d.ts +24 -0
- package/dist/generator/claude-cli.d.ts.map +1 -0
- package/dist/generator/claude-cli.js +239 -0
- package/dist/generator/claude-cli.js.map +1 -0
- package/dist/generator/prompt-builder.d.ts +7 -0
- package/dist/generator/prompt-builder.d.ts.map +1 -0
- package/dist/generator/prompt-builder.js +144 -0
- package/dist/generator/prompt-builder.js.map +1 -0
- package/dist/index.d.ts +36 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +45 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/embeddings.d.ts +53 -0
- package/dist/mcp/embeddings.d.ts.map +1 -0
- package/dist/mcp/embeddings.js +68 -0
- package/dist/mcp/embeddings.js.map +1 -0
- package/dist/mcp/hybrid-search.d.ts +25 -0
- package/dist/mcp/hybrid-search.d.ts.map +1 -0
- package/dist/mcp/hybrid-search.js +72 -0
- package/dist/mcp/hybrid-search.js.map +1 -0
- package/dist/mcp/knowledge-server.d.ts +4 -0
- package/dist/mcp/knowledge-server.d.ts.map +1 -0
- package/dist/mcp/knowledge-server.js +294 -0
- package/dist/mcp/knowledge-server.js.map +1 -0
- package/dist/mcp/knowledge-utils.d.ts +65 -0
- package/dist/mcp/knowledge-utils.d.ts.map +1 -0
- package/dist/mcp/knowledge-utils.js +207 -0
- package/dist/mcp/knowledge-utils.js.map +1 -0
- package/dist/mcp/search-factory.d.ts +9 -0
- package/dist/mcp/search-factory.d.ts.map +1 -0
- package/dist/mcp/search-factory.js +23 -0
- package/dist/mcp/search-factory.js.map +1 -0
- package/dist/mcp/search-index.d.ts +45 -0
- package/dist/mcp/search-index.d.ts.map +1 -0
- package/dist/mcp/search-index.js +2 -0
- package/dist/mcp/search-index.js.map +1 -0
- package/dist/mcp/search-minisearch.d.ts +46 -0
- package/dist/mcp/search-minisearch.d.ts.map +1 -0
- package/dist/mcp/search-minisearch.js +99 -0
- package/dist/mcp/search-minisearch.js.map +1 -0
- package/dist/mcp/search-sqlite.d.ts +30 -0
- package/dist/mcp/search-sqlite.d.ts.map +1 -0
- package/dist/mcp/search-sqlite.js +188 -0
- package/dist/mcp/search-sqlite.js.map +1 -0
- package/dist/mcp/vector-store.d.ts +52 -0
- package/dist/mcp/vector-store.d.ts.map +1 -0
- package/dist/mcp/vector-store.js +183 -0
- package/dist/mcp/vector-store.js.map +1 -0
- package/dist/scaffold/copy-core-agents.d.ts +2 -0
- package/dist/scaffold/copy-core-agents.d.ts.map +1 -0
- package/dist/scaffold/copy-core-agents.js +90 -0
- package/dist/scaffold/copy-core-agents.js.map +1 -0
- package/dist/scaffold/create-claude-settings.d.ts +40 -0
- package/dist/scaffold/create-claude-settings.d.ts.map +1 -0
- package/dist/scaffold/create-claude-settings.js +422 -0
- package/dist/scaffold/create-claude-settings.js.map +1 -0
- package/dist/scaffold/create-config.d.ts +14 -0
- package/dist/scaffold/create-config.d.ts.map +1 -0
- package/dist/scaffold/create-config.js +199 -0
- package/dist/scaffold/create-config.js.map +1 -0
- package/dist/scaffold/create-project-description.d.ts +12 -0
- package/dist/scaffold/create-project-description.d.ts.map +1 -0
- package/dist/scaffold/create-project-description.js +104 -0
- package/dist/scaffold/create-project-description.js.map +1 -0
- package/dist/scaffold/create-structure.d.ts +2 -0
- package/dist/scaffold/create-structure.d.ts.map +1 -0
- package/dist/scaffold/create-structure.js +146 -0
- package/dist/scaffold/create-structure.js.map +1 -0
- package/dist/types/dependency-analysis.d.ts +11 -0
- package/dist/types/dependency-analysis.d.ts.map +1 -0
- package/dist/types/dependency-analysis.js +2 -0
- package/dist/types/dependency-analysis.js.map +1 -0
- package/dist/types/index.d.ts +526 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/task.d.ts +25 -0
- package/dist/types/task.d.ts.map +1 -0
- package/dist/types/task.js +3 -0
- package/dist/types/task.js.map +1 -0
- package/dist/utils/analyze-files.d.ts +7 -0
- package/dist/utils/analyze-files.d.ts.map +1 -0
- package/dist/utils/analyze-files.js +27 -0
- package/dist/utils/analyze-files.js.map +1 -0
- package/dist/utils/backup.d.ts +102 -0
- package/dist/utils/backup.d.ts.map +1 -0
- package/dist/utils/backup.js +352 -0
- package/dist/utils/backup.js.map +1 -0
- package/dist/utils/ci-provider.d.ts +23 -0
- package/dist/utils/ci-provider.d.ts.map +1 -0
- package/dist/utils/ci-provider.js +525 -0
- package/dist/utils/ci-provider.js.map +1 -0
- package/dist/utils/ci-status.d.ts +57 -0
- package/dist/utils/ci-status.d.ts.map +1 -0
- package/dist/utils/ci-status.js +349 -0
- package/dist/utils/ci-status.js.map +1 -0
- package/dist/utils/dependency-analysis.d.ts +34 -0
- package/dist/utils/dependency-analysis.d.ts.map +1 -0
- package/dist/utils/dependency-analysis.js +298 -0
- package/dist/utils/dependency-analysis.js.map +1 -0
- package/dist/utils/detect-git.d.ts +57 -0
- package/dist/utils/detect-git.d.ts.map +1 -0
- package/dist/utils/detect-git.js +439 -0
- package/dist/utils/detect-git.js.map +1 -0
- package/dist/utils/detect-mcp.d.ts +32 -0
- package/dist/utils/detect-mcp.d.ts.map +1 -0
- package/dist/utils/detect-mcp.js +178 -0
- package/dist/utils/detect-mcp.js.map +1 -0
- package/dist/utils/detect-project.d.ts +3 -0
- package/dist/utils/detect-project.d.ts.map +1 -0
- package/dist/utils/detect-project.js +155 -0
- package/dist/utils/detect-project.js.map +1 -0
- package/dist/utils/file-comparison.d.ts +89 -0
- package/dist/utils/file-comparison.d.ts.map +1 -0
- package/dist/utils/file-comparison.js +301 -0
- package/dist/utils/file-comparison.js.map +1 -0
- package/dist/utils/file-merger.d.ts +74 -0
- package/dist/utils/file-merger.d.ts.map +1 -0
- package/dist/utils/file-merger.js +350 -0
- package/dist/utils/file-merger.js.map +1 -0
- package/dist/utils/logger.d.ts +26 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +72 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/managed-process.d.ts +109 -0
- package/dist/utils/managed-process.d.ts.map +1 -0
- package/dist/utils/managed-process.js +481 -0
- package/dist/utils/managed-process.js.map +1 -0
- package/dist/utils/merge-claude-settings.d.ts +65 -0
- package/dist/utils/merge-claude-settings.d.ts.map +1 -0
- package/dist/utils/merge-claude-settings.js +133 -0
- package/dist/utils/merge-claude-settings.js.map +1 -0
- package/dist/utils/migration.d.ts +74 -0
- package/dist/utils/migration.d.ts.map +1 -0
- package/dist/utils/migration.js +345 -0
- package/dist/utils/migration.js.map +1 -0
- package/dist/utils/process-health.d.ts +51 -0
- package/dist/utils/process-health.d.ts.map +1 -0
- package/dist/utils/process-health.js +123 -0
- package/dist/utils/process-health.js.map +1 -0
- package/dist/utils/process-registry.d.ts +20 -0
- package/dist/utils/process-registry.d.ts.map +1 -0
- package/dist/utils/process-registry.js +151 -0
- package/dist/utils/process-registry.js.map +1 -0
- package/dist/utils/process-tree.d.ts +51 -0
- package/dist/utils/process-tree.d.ts.map +1 -0
- package/dist/utils/process-tree.js +499 -0
- package/dist/utils/process-tree.js.map +1 -0
- package/dist/utils/repair-mcp-config.d.ts +15 -0
- package/dist/utils/repair-mcp-config.d.ts.map +1 -0
- package/dist/utils/repair-mcp-config.js +129 -0
- package/dist/utils/repair-mcp-config.js.map +1 -0
- package/dist/utils/task-lifecycle.d.ts +60 -0
- package/dist/utils/task-lifecycle.d.ts.map +1 -0
- package/dist/utils/task-lifecycle.js +310 -0
- package/dist/utils/task-lifecycle.js.map +1 -0
- package/dist/utils/update-agent-mcp.d.ts +7 -0
- package/dist/utils/update-agent-mcp.d.ts.map +1 -0
- package/dist/utils/update-agent-mcp.js +115 -0
- package/dist/utils/update-agent-mcp.js.map +1 -0
- package/dist/utils/update-agent-templates.d.ts +6 -0
- package/dist/utils/update-agent-templates.d.ts.map +1 -0
- package/dist/utils/update-agent-templates.js +56 -0
- package/dist/utils/update-agent-templates.js.map +1 -0
- package/dist/utils/update-config-ci.d.ts +7 -0
- package/dist/utils/update-config-ci.d.ts.map +1 -0
- package/dist/utils/update-config-ci.js +72 -0
- package/dist/utils/update-config-ci.js.map +1 -0
- package/dist/utils/update-config-git.d.ts +18 -0
- package/dist/utils/update-config-git.d.ts.map +1 -0
- package/dist/utils/update-config-git.js +146 -0
- package/dist/utils/update-config-git.js.map +1 -0
- package/dist/utils/update-config-mcp.d.ts +7 -0
- package/dist/utils/update-config-mcp.d.ts.map +1 -0
- package/dist/utils/update-config-mcp.js +98 -0
- package/dist/utils/update-config-mcp.js.map +1 -0
- package/dist/utils/validate-config.d.ts +3 -0
- package/dist/utils/validate-config.d.ts.map +1 -0
- package/dist/utils/validate-config.js +109 -0
- package/dist/utils/validate-config.js.map +1 -0
- package/dist/utils/version-tracker.d.ts +130 -0
- package/dist/utils/version-tracker.d.ts.map +1 -0
- package/dist/utils/version-tracker.js +298 -0
- package/dist/utils/version-tracker.js.map +1 -0
- package/dist/utils/worktree.d.ts +68 -0
- package/dist/utils/worktree.d.ts.map +1 -0
- package/dist/utils/worktree.js +446 -0
- package/dist/utils/worktree.js.map +1 -0
- package/package.json +77 -0
- package/templates/ARCHAI_README.md +329 -0
- package/templates/CLAUDE.md +67 -0
- package/templates/PROMPTS.md +506 -0
- package/templates/core-agents/boss-agent.md +671 -0
- package/templates/core-agents/cleanup-agent.md +145 -0
- package/templates/core-agents/code-reviewer.md +175 -0
- package/templates/core-agents/critical-reviewer.md +117 -0
- package/templates/core-agents/deep-analyst.md +216 -0
- package/templates/core-agents/finalization-agent.md +252 -0
- package/templates/core-agents/git-coordinator.md +240 -0
- package/templates/core-agents/implementation-agent.md +151 -0
- package/templates/core-agents/maestro-agent.md +413 -0
- package/templates/core-agents/maestro-headless-agent.md +422 -0
- package/templates/core-agents/plan-validator.md +198 -0
- package/templates/core-agents/quick-fix.md +56 -0
- package/templates/core-agents/routing-templates.md +338 -0
- package/templates/core-agents/task-orchestrator.md +143 -0
- package/templates/core-agents/task-prep.md +202 -0
- package/templates/core-agents/tdd-designer.md +143 -0
- package/templates/specialist-meta.md +275 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import fs from 'fs-extra';
|
|
2
|
+
export async function createProjectDescription(answers) {
|
|
3
|
+
const template = `# Project Description
|
|
4
|
+
|
|
5
|
+
> This file provides context to all agents. Fill it in thoroughly.
|
|
6
|
+
> After filling, run: \`archai generate\`
|
|
7
|
+
|
|
8
|
+
## Project Overview
|
|
9
|
+
|
|
10
|
+
**Name:** ${answers.projectName}
|
|
11
|
+
|
|
12
|
+
**One-line description:**
|
|
13
|
+
[What does this project do in one sentence?]
|
|
14
|
+
|
|
15
|
+
**Detailed description:**
|
|
16
|
+
[2-3 paragraphs explaining the project, its purpose, target users, and core functionality]
|
|
17
|
+
|
|
18
|
+
## Tech Stack
|
|
19
|
+
|
|
20
|
+
**Languages:** ${answers.languages || '[TODO: Add your languages - e.g., TypeScript, Python, Go]'}
|
|
21
|
+
**Frameworks:** ${answers.frameworks || '[TODO: Add your frameworks - e.g., React, Express, Django]'}
|
|
22
|
+
**Testing:** ${answers.testFramework || '[TODO: Add your test framework - e.g., vitest, jest, pytest]'}
|
|
23
|
+
|
|
24
|
+
## Architecture
|
|
25
|
+
|
|
26
|
+
**High-level architecture:**
|
|
27
|
+
[Describe how the system is structured - client/server, microservices, monolith, etc.]
|
|
28
|
+
|
|
29
|
+
\`\`\`
|
|
30
|
+
[ASCII diagram of your architecture - optional but helpful]
|
|
31
|
+
\`\`\`
|
|
32
|
+
|
|
33
|
+
**Key modules/packages:**
|
|
34
|
+
${answers.isMonorepo ? `- \`packages/\` - Shared libraries
|
|
35
|
+
- \`apps/\` - Applications` : `- \`src/\` - Main source code`}
|
|
36
|
+
|
|
37
|
+
## Domain Concepts
|
|
38
|
+
|
|
39
|
+
**Core entities:**
|
|
40
|
+
[List the main domain objects/concepts in your system]
|
|
41
|
+
|
|
42
|
+
- **Entity1**: Description
|
|
43
|
+
- **Entity2**: Description
|
|
44
|
+
|
|
45
|
+
**Key workflows:**
|
|
46
|
+
[Describe the main user flows or system processes]
|
|
47
|
+
|
|
48
|
+
1. Workflow name: Brief description
|
|
49
|
+
2. ...
|
|
50
|
+
|
|
51
|
+
## Technical Constraints
|
|
52
|
+
|
|
53
|
+
**Performance requirements:**
|
|
54
|
+
- [e.g., "Must handle 1000 concurrent users"]
|
|
55
|
+
- [e.g., "Page load under 3 seconds"]
|
|
56
|
+
|
|
57
|
+
**Compatibility requirements:**
|
|
58
|
+
- [e.g., "Modern browsers only", "iOS 14+"]
|
|
59
|
+
|
|
60
|
+
**Security considerations:**
|
|
61
|
+
- [e.g., "Authentication required", "Data encryption"]
|
|
62
|
+
|
|
63
|
+
## Development Guidelines
|
|
64
|
+
|
|
65
|
+
**Code style:**
|
|
66
|
+
[Any specific conventions, patterns to follow - or reference to style guide]
|
|
67
|
+
|
|
68
|
+
**What to avoid:**
|
|
69
|
+
[Anti-patterns, deprecated approaches, things NOT to do]
|
|
70
|
+
|
|
71
|
+
**Testing philosophy:**
|
|
72
|
+
[How thorough should tests be? What must be tested?]
|
|
73
|
+
|
|
74
|
+
## External Integrations
|
|
75
|
+
|
|
76
|
+
List any third-party services/APIs:
|
|
77
|
+
|
|
78
|
+
| Service | Purpose | Notes |
|
|
79
|
+
|---------|---------|-------|
|
|
80
|
+
| [Service name] | [What it's used for] | [Any special notes] |
|
|
81
|
+
|
|
82
|
+
## Current State
|
|
83
|
+
|
|
84
|
+
**What's working:**
|
|
85
|
+
- [Feature 1]
|
|
86
|
+
- [Feature 2]
|
|
87
|
+
|
|
88
|
+
**Known issues:**
|
|
89
|
+
- [Issue 1]
|
|
90
|
+
- [Issue 2]
|
|
91
|
+
|
|
92
|
+
**Upcoming priorities:**
|
|
93
|
+
- [Priority 1]
|
|
94
|
+
- [Priority 2]
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
> Delete this section after filling: This file is read by all agents.
|
|
99
|
+
> The more detail you provide, the better the agents will understand your project.
|
|
100
|
+
`;
|
|
101
|
+
await fs.ensureDir('.knowledge/context');
|
|
102
|
+
await fs.writeFile('.knowledge/context/project-description.md', template);
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=create-project-description.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-project-description.js","sourceRoot":"","sources":["../../src/scaffold/create-project-description.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAY1B,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,OAAsB;IACnE,MAAM,QAAQ,GAAG;;;;;;;YAOP,OAAO,CAAC,WAAW;;;;;;;;;;iBAUd,OAAO,CAAC,SAAS,IAAI,2DAA2D;kBAC/E,OAAO,CAAC,UAAU,IAAI,4DAA4D;eACrF,OAAO,CAAC,aAAa,IAAI,8DAA8D;;;;;;;;;;;;EAYpG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;2BACI,CAAC,CAAC,CAAC,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiE5D,CAAC;IAEA,MAAM,EAAE,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;IACzC,MAAM,EAAE,CAAC,SAAS,CAAC,2CAA2C,EAAE,QAAQ,CAAC,CAAC;AAC5E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-structure.d.ts","sourceRoot":"","sources":["../../src/scaffold/create-structure.ts"],"names":[],"mappings":"AAwCA,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAqBrD"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import fs from 'fs-extra';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { fileURLToPath } from 'url';
|
|
4
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
5
|
+
const __dirname = path.dirname(__filename);
|
|
6
|
+
const FOLDERS = [
|
|
7
|
+
// Claude agent system
|
|
8
|
+
'.claude/agents',
|
|
9
|
+
'.claude/state',
|
|
10
|
+
'.claude/state/archived',
|
|
11
|
+
'.claude/plans',
|
|
12
|
+
'.claude/plans/archived',
|
|
13
|
+
'.claude/templates',
|
|
14
|
+
// Knowledge base
|
|
15
|
+
'.knowledge/context',
|
|
16
|
+
'.knowledge/decisions',
|
|
17
|
+
'.knowledge/learnings',
|
|
18
|
+
'.knowledge/constraints',
|
|
19
|
+
'.knowledge/patterns',
|
|
20
|
+
// Task management
|
|
21
|
+
'.tasks/inbox',
|
|
22
|
+
'.tasks/done',
|
|
23
|
+
'.tasks/epics',
|
|
24
|
+
'.tasks/review',
|
|
25
|
+
'.tasks/blocked',
|
|
26
|
+
'.tasks/templates',
|
|
27
|
+
// Supervisor (coordination)
|
|
28
|
+
'.supervisor',
|
|
29
|
+
// Agent scratch space
|
|
30
|
+
'.agents/plans',
|
|
31
|
+
'.agents/scratch',
|
|
32
|
+
'.agents/thoughts',
|
|
33
|
+
];
|
|
34
|
+
export async function scaffoldProject() {
|
|
35
|
+
// Create all folders
|
|
36
|
+
for (const folder of FOLDERS) {
|
|
37
|
+
await fs.ensureDir(folder);
|
|
38
|
+
// Add .gitkeep to preserve empty folders
|
|
39
|
+
await fs.writeFile(`${folder}/.gitkeep`, '');
|
|
40
|
+
}
|
|
41
|
+
// Create supervisor files
|
|
42
|
+
await fs.writeFile('.supervisor/assignments.md', '# Assignments\n\nNo active assignments.\n');
|
|
43
|
+
await fs.writeFile('.supervisor/merge-queue.md', '# Merge Queue\n\nNo branches in queue.\n');
|
|
44
|
+
await fs.writeFile('.supervisor/conflicts.md', '# Conflicts\n\nNo conflicts to resolve.\n');
|
|
45
|
+
// Create task templates
|
|
46
|
+
await createTaskTemplates();
|
|
47
|
+
// Update .gitignore
|
|
48
|
+
await updateGitignore();
|
|
49
|
+
// Copy template files to project root
|
|
50
|
+
await copyTemplateFiles();
|
|
51
|
+
}
|
|
52
|
+
async function copyTemplateFiles() {
|
|
53
|
+
const templateFiles = [
|
|
54
|
+
{ src: 'PROMPTS.md', dest: 'PROMPTS.md' },
|
|
55
|
+
{ src: 'ARCHAI_README.md', dest: 'ARCHAI_README.md' },
|
|
56
|
+
];
|
|
57
|
+
for (const file of templateFiles) {
|
|
58
|
+
const templatePath = path.join(__dirname, '../../templates', file.src);
|
|
59
|
+
const destPath = file.dest;
|
|
60
|
+
// Only copy if file doesn't already exist
|
|
61
|
+
if (await fs.pathExists(destPath)) {
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
if (await fs.pathExists(templatePath)) {
|
|
65
|
+
await fs.copyFile(templatePath, destPath);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
async function createTaskTemplates() {
|
|
70
|
+
const epicTemplate = `---
|
|
71
|
+
id: TASK-XXX
|
|
72
|
+
title: "[Epic Title]"
|
|
73
|
+
type: epic
|
|
74
|
+
priority: medium
|
|
75
|
+
status: inbox
|
|
76
|
+
created: YYYY-MM-DD
|
|
77
|
+
due: null
|
|
78
|
+
depends_on: []
|
|
79
|
+
blocks: []
|
|
80
|
+
assignee: null
|
|
81
|
+
branch: null
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Description
|
|
85
|
+
|
|
86
|
+
[Describe the feature, bug fix, or task in detail]
|
|
87
|
+
|
|
88
|
+
## Acceptance Criteria
|
|
89
|
+
|
|
90
|
+
- [ ] Criterion 1
|
|
91
|
+
- [ ] Criterion 2
|
|
92
|
+
- [ ] Criterion 3
|
|
93
|
+
|
|
94
|
+
## Context
|
|
95
|
+
|
|
96
|
+
[Links to relevant documentation, designs, related issues]
|
|
97
|
+
|
|
98
|
+
## Technical Notes
|
|
99
|
+
|
|
100
|
+
[Any technical considerations or constraints]
|
|
101
|
+
`;
|
|
102
|
+
const subtaskTemplate = `---
|
|
103
|
+
id: SUBTASK-XXX
|
|
104
|
+
parent: TASK-XXX
|
|
105
|
+
title: "[Subtask Title]"
|
|
106
|
+
status: pending
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Description
|
|
110
|
+
|
|
111
|
+
[Brief description]
|
|
112
|
+
|
|
113
|
+
## Acceptance Criteria
|
|
114
|
+
|
|
115
|
+
- [ ] Criterion 1
|
|
116
|
+
`;
|
|
117
|
+
await fs.writeFile('.tasks/templates/epic-template.md', epicTemplate);
|
|
118
|
+
await fs.writeFile('.tasks/templates/subtask-template.md', subtaskTemplate);
|
|
119
|
+
}
|
|
120
|
+
async function updateGitignore() {
|
|
121
|
+
const gitignoreAdditions = `
|
|
122
|
+
# archai - Agent scratch space (temporary files)
|
|
123
|
+
.agents/scratch/*
|
|
124
|
+
!.agents/scratch/.gitkeep
|
|
125
|
+
.agents/thoughts/*
|
|
126
|
+
!.agents/thoughts/.gitkeep
|
|
127
|
+
.agents/plans/*
|
|
128
|
+
!.agents/plans/.gitkeep
|
|
129
|
+
|
|
130
|
+
# archai - Working state (cleared after tasks complete)
|
|
131
|
+
.claude/state/*
|
|
132
|
+
!.claude/state/.gitkeep
|
|
133
|
+
!.claude/state/archived/
|
|
134
|
+
`;
|
|
135
|
+
const gitignorePath = '.gitignore';
|
|
136
|
+
let content = '';
|
|
137
|
+
if (await fs.pathExists(gitignorePath)) {
|
|
138
|
+
content = await fs.readFile(gitignorePath, 'utf-8');
|
|
139
|
+
if (content.includes('# archai')) {
|
|
140
|
+
// Already has archai entries
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
await fs.writeFile(gitignorePath, content + gitignoreAdditions);
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=create-structure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-structure.js","sourceRoot":"","sources":["../../src/scaffold/create-structure.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { TaskSpec } from './task.js';
|
|
2
|
+
/**
|
|
3
|
+
* A group of tasks that can execute together.
|
|
4
|
+
* If parallel is true, the tasks within this group are independent and can run concurrently.
|
|
5
|
+
* If parallel is false, the group contains a single task that must run alone.
|
|
6
|
+
*/
|
|
7
|
+
export interface ExecutionGroup {
|
|
8
|
+
tasks: TaskSpec[];
|
|
9
|
+
parallel: boolean;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=dependency-analysis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependency-analysis.d.ts","sourceRoot":"","sources":["../../src/types/dependency-analysis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependency-analysis.js","sourceRoot":"","sources":["../../src/types/dependency-analysis.ts"],"names":[],"mappings":""}
|