create-ax-project 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.
- package/README.md +374 -0
- package/bin/create.js +193 -0
- package/package.json +38 -0
- package/template/.claude/CLAUDE.md +7 -0
- package/template/.claude/commands/CLAUDE.md +0 -0
- package/template/.claude/commands/benchmark.md +103 -0
- package/template/.claude/commands/brainstorm.md +67 -0
- package/template/.claude/commands/checkpoint.md +93 -0
- package/template/.claude/commands/codex.md +107 -0
- package/template/.claude/commands/collaborate.md +85 -0
- package/template/.claude/commands/context.md +154 -0
- package/template/.claude/commands/deploy.md +102 -0
- package/template/.claude/commands/fork.md +142 -0
- package/template/.claude/commands/gemini.md +84 -0
- package/template/.claude/commands/handoff.md +80 -0
- package/template/.claude/commands/implement.md +82 -0
- package/template/.claude/commands/init-project.md +49 -0
- package/template/.claude/commands/next.md +125 -0
- package/template/.claude/commands/planning.md +69 -0
- package/template/.claude/commands/qa.md +81 -0
- package/template/.claude/commands/refactor.md +95 -0
- package/template/.claude/commands/research.md +60 -0
- package/template/.claude/commands/restore.md +113 -0
- package/template/.claude/commands/run-stage.md +78 -0
- package/template/.claude/commands/stages.md +109 -0
- package/template/.claude/commands/status.md +73 -0
- package/template/.claude/commands/tasks.md +80 -0
- package/template/.claude/commands/test.md +93 -0
- package/template/.claude/commands/ui-ux.md +61 -0
- package/template/.claude/commands/validate.md +174 -0
- package/template/.claude/hooks/CLAUDE.md +0 -0
- package/template/.claude/hooks/ai-selector.sh +223 -0
- package/template/.claude/hooks/auto-checkpoint.sh +187 -0
- package/template/.claude/hooks/output-validator.sh +289 -0
- package/template/.claude/hooks/post-stage.sh +123 -0
- package/template/.claude/hooks/pre-stage.sh +186 -0
- package/template/.claude/hooks/session-start.sh +90 -0
- package/template/.claude/hooks/statusline.sh +115 -0
- package/template/.claude/hooks/stop.sh +104 -0
- package/template/.claude/settings.json +149 -0
- package/template/.claude/skills/ai-collaboration/CLAUDE.md +0 -0
- package/template/.claude/skills/ai-collaboration/README.md +61 -0
- package/template/.claude/skills/ai-collaboration/debate.md +148 -0
- package/template/.claude/skills/ai-collaboration/parallel.md +96 -0
- package/template/.claude/skills/ai-collaboration/prompts/CLAUDE.md +107 -0
- package/template/.claude/skills/auto-checkpoint/CLAUDE.md +0 -0
- package/template/.claude/skills/auto-checkpoint/README.md +77 -0
- package/template/.claude/skills/auto-checkpoint/prompts/CLAUDE.md +113 -0
- package/template/.claude/skills/auto-checkpoint/rollback.md +152 -0
- package/template/.claude/skills/auto-checkpoint/trigger.md +122 -0
- package/template/.claude/skills/context-compression/CLAUDE.md +0 -0
- package/template/.claude/skills/context-compression/README.md +121 -0
- package/template/.claude/skills/context-compression/analyze.md +114 -0
- package/template/.claude/skills/context-compression/compress.md +175 -0
- package/template/.claude/skills/context-compression/prompts/CLAUDE.md +0 -0
- package/template/.claude/skills/context-compression/prompts/compression.md +172 -0
- package/template/.claude/skills/output-validator/CLAUDE.md +0 -0
- package/template/.claude/skills/output-validator/README.md +86 -0
- package/template/.claude/skills/output-validator/prompts/CLAUDE.md +119 -0
- package/template/.claude/skills/output-validator/validate.md +182 -0
- package/template/.claude/skills/smart-handoff/CLAUDE.md +0 -0
- package/template/.claude/skills/smart-handoff/README.md +59 -0
- package/template/.claude/skills/smart-handoff/extract.md +76 -0
- package/template/.claude/skills/smart-handoff/prompts/CLAUDE.md +86 -0
- package/template/.claude/skills/smart-handoff/summarize.md +94 -0
- package/template/.claude/skills/stage-transition/CLAUDE.md +0 -0
- package/template/.claude/skills/stage-transition/README.md +84 -0
- package/template/.claude/skills/stage-transition/handoff-gen.md +160 -0
- package/template/.claude/skills/stage-transition/prompts/CLAUDE.md +0 -0
- package/template/.claude/skills/stage-transition/prompts/transition.md +145 -0
- package/template/.claude/skills/stage-transition/validate.md +108 -0
- package/template/CLAUDE.md +528 -0
- package/template/config/CLAUDE.md +0 -0
- package/template/config/ai_benchmarking.yaml +184 -0
- package/template/config/ai_collaboration.yaml +159 -0
- package/template/config/ai_logging.yaml +129 -0
- package/template/config/auto_checkpoint.yaml +189 -0
- package/template/config/context.yaml +78 -0
- package/template/config/git.yaml +161 -0
- package/template/config/handoff_intelligence.yaml +229 -0
- package/template/config/implementation.yaml.template +181 -0
- package/template/config/mcp_fallbacks.yaml +252 -0
- package/template/config/memory_integration.yaml +200 -0
- package/template/config/model_enforcement.yaml +141 -0
- package/template/config/models.yaml +242 -0
- package/template/config/output_validation.yaml +352 -0
- package/template/config/pipeline.yaml +357 -0
- package/template/config/pipeline_forking.yaml +236 -0
- package/template/config/qa_logging.yaml +166 -0
- package/template/config/smart_rollback.yaml +209 -0
- package/template/config/stage_personas.yaml +354 -0
- package/template/config/workflow.yaml +54 -0
- package/template/scripts/CLAUDE.md +0 -0
- package/template/scripts/ai-benchmark.sh +272 -0
- package/template/scripts/codex-wrapper.sh +97 -0
- package/template/scripts/context-manager.sh +528 -0
- package/template/scripts/create-checkpoint.sh +116 -0
- package/template/scripts/gemini-wrapper.sh +96 -0
- package/template/scripts/init-project.sh +109 -0
- package/template/scripts/list-stages.sh +245 -0
- package/template/scripts/next-stage.sh +228 -0
- package/template/scripts/output-validate.sh +12 -0
- package/template/scripts/pipeline-fork.sh +293 -0
- package/template/scripts/pre-run-check.sh +361 -0
- package/template/scripts/restore-checkpoint.sh +247 -0
- package/template/scripts/run-stage.sh +139 -0
- package/template/scripts/show-status.sh +185 -0
- package/template/scripts/smart-handoff.sh +254 -0
- package/template/stages/01-brainstorm/CLAUDE.md +103 -0
- package/template/stages/01-brainstorm/HANDOFF.md +110 -0
- package/template/stages/01-brainstorm/HANDOFF.md.template +112 -0
- package/template/stages/01-brainstorm/README.md +97 -0
- package/template/stages/01-brainstorm/config.yaml +92 -0
- package/template/stages/01-brainstorm/inputs/.gitkeep +0 -0
- package/template/stages/01-brainstorm/inputs/CLAUDE.md +0 -0
- package/template/stages/01-brainstorm/inputs/project_brief.md +40 -0
- package/template/stages/01-brainstorm/outputs/.gitkeep +0 -0
- package/template/stages/01-brainstorm/outputs/CLAUDE.md +0 -0
- package/template/stages/01-brainstorm/outputs/ideas.md +159 -0
- package/template/stages/01-brainstorm/outputs/requirements_analysis.md +222 -0
- package/template/stages/01-brainstorm/prompts/CLAUDE.md +0 -0
- package/template/stages/01-brainstorm/prompts/collaboration.md +46 -0
- package/template/stages/01-brainstorm/prompts/ideation.md +62 -0
- package/template/stages/01-brainstorm/prompts/persona.md +73 -0
- package/template/stages/01-brainstorm/prompts/requirements.md +73 -0
- package/template/stages/01-brainstorm/prompts/validation.md +50 -0
- package/template/stages/01-brainstorm/templates/CLAUDE.md +0 -0
- package/template/stages/01-brainstorm/templates/ideas.md +91 -0
- package/template/stages/01-brainstorm/templates/requirements_analysis.md +129 -0
- package/template/stages/02-research/CLAUDE.md +101 -0
- package/template/stages/02-research/HANDOFF.md +158 -0
- package/template/stages/02-research/HANDOFF.md.template +102 -0
- package/template/stages/02-research/config.yaml +68 -0
- package/template/stages/02-research/inputs/.gitkeep +0 -0
- package/template/stages/02-research/outputs/.gitkeep +0 -0
- package/template/stages/02-research/outputs/CLAUDE.md +0 -0
- package/template/stages/02-research/outputs/feasibility_report.md +176 -0
- package/template/stages/02-research/outputs/tech_research.md +403 -0
- package/template/stages/02-research/prompts/CLAUDE.md +0 -0
- package/template/stages/02-research/prompts/collaboration.md +51 -0
- package/template/stages/02-research/prompts/feasibility.md +73 -0
- package/template/stages/02-research/prompts/market_analysis.md +58 -0
- package/template/stages/02-research/prompts/tech_stack.md +60 -0
- package/template/stages/02-research/prompts/validation.md +51 -0
- package/template/stages/02-research/templates/.gitkeep +0 -0
- package/template/stages/03-planning/CLAUDE.md +98 -0
- package/template/stages/03-planning/HANDOFF.md +168 -0
- package/template/stages/03-planning/HANDOFF.md.template +91 -0
- package/template/stages/03-planning/config.yaml +64 -0
- package/template/stages/03-planning/inputs/.gitkeep +0 -0
- package/template/stages/03-planning/outputs/.gitkeep +0 -0
- package/template/stages/03-planning/outputs/CLAUDE.md +0 -0
- package/template/stages/03-planning/outputs/architecture.md +400 -0
- package/template/stages/03-planning/outputs/implementation.yaml +209 -0
- package/template/stages/03-planning/outputs/project_plan.md +204 -0
- package/template/stages/03-planning/outputs/tech_stack.md +176 -0
- package/template/stages/03-planning/prompts/CLAUDE.md +0 -0
- package/template/stages/03-planning/prompts/architecture.md +62 -0
- package/template/stages/03-planning/prompts/collaboration.md +57 -0
- package/template/stages/03-planning/prompts/validation.md +59 -0
- package/template/stages/03-planning/templates/.gitkeep +0 -0
- package/template/stages/04-ui-ux/CLAUDE.md +88 -0
- package/template/stages/04-ui-ux/HANDOFF.md +165 -0
- package/template/stages/04-ui-ux/HANDOFF.md.template +92 -0
- package/template/stages/04-ui-ux/config.yaml +57 -0
- package/template/stages/04-ui-ux/inputs/.gitkeep +0 -0
- package/template/stages/04-ui-ux/outputs/.gitkeep +0 -0
- package/template/stages/04-ui-ux/outputs/CLAUDE.md +0 -0
- package/template/stages/04-ui-ux/outputs/design_system.md +449 -0
- package/template/stages/04-ui-ux/outputs/user_flows.md +321 -0
- package/template/stages/04-ui-ux/outputs/wireframes.md +241 -0
- package/template/stages/04-ui-ux/prompts/.gitkeep +0 -0
- package/template/stages/04-ui-ux/prompts/CLAUDE.md +0 -0
- package/template/stages/04-ui-ux/prompts/collaboration.md +56 -0
- package/template/stages/04-ui-ux/prompts/validation.md +54 -0
- package/template/stages/04-ui-ux/templates/.gitkeep +0 -0
- package/template/stages/05-task-management/CLAUDE.md +105 -0
- package/template/stages/05-task-management/HANDOFF.md +187 -0
- package/template/stages/05-task-management/HANDOFF.md.template +97 -0
- package/template/stages/05-task-management/config.yaml +81 -0
- package/template/stages/05-task-management/inputs/.gitkeep +0 -0
- package/template/stages/05-task-management/outputs/.gitkeep +0 -0
- package/template/stages/05-task-management/outputs/CLAUDE.md +0 -0
- package/template/stages/05-task-management/outputs/milestones.md +253 -0
- package/template/stages/05-task-management/outputs/sprint_plan.md +203 -0
- package/template/stages/05-task-management/outputs/tasks.md +402 -0
- package/template/stages/05-task-management/prompts/.gitkeep +0 -0
- package/template/stages/05-task-management/prompts/CLAUDE.md +0 -0
- package/template/stages/05-task-management/prompts/collaboration.md +54 -0
- package/template/stages/05-task-management/prompts/validation.md +66 -0
- package/template/stages/05-task-management/templates/CLAUDE.md +0 -0
- package/template/stages/05-task-management/templates/notion_integration.md +176 -0
- package/template/stages/05-task-management/templates/parallel_groups.yaml +153 -0
- package/template/stages/05-task-management/templates/task_schema.yaml +154 -0
- package/template/stages/06-implementation/CLAUDE.md +163 -0
- package/template/stages/06-implementation/HANDOFF.md +184 -0
- package/template/stages/06-implementation/HANDOFF.md.template +192 -0
- package/template/stages/06-implementation/config.yaml +62 -0
- package/template/stages/06-implementation/inputs/.gitkeep +0 -0
- package/template/stages/06-implementation/outputs/.gitkeep +0 -0
- package/template/stages/06-implementation/prompts/.gitkeep +0 -0
- package/template/stages/06-implementation/prompts/CLAUDE.md +0 -0
- package/template/stages/06-implementation/prompts/collaboration.md +64 -0
- package/template/stages/06-implementation/prompts/validation.md +65 -0
- package/template/stages/06-implementation/templates/.gitkeep +0 -0
- package/template/stages/07-refactoring/CLAUDE.md +180 -0
- package/template/stages/07-refactoring/HANDOFF.md +82 -0
- package/template/stages/07-refactoring/HANDOFF.md.template +97 -0
- package/template/stages/07-refactoring/config.yaml +68 -0
- package/template/stages/07-refactoring/inputs/.gitkeep +0 -0
- package/template/stages/07-refactoring/outputs/.gitkeep +0 -0
- package/template/stages/07-refactoring/outputs/refactoring_report.md +102 -0
- package/template/stages/07-refactoring/prompts/.gitkeep +0 -0
- package/template/stages/07-refactoring/prompts/CLAUDE.md +0 -0
- package/template/stages/07-refactoring/prompts/collaboration.md +71 -0
- package/template/stages/07-refactoring/prompts/validation.md +76 -0
- package/template/stages/07-refactoring/templates/.gitkeep +0 -0
- package/template/stages/08-qa/CLAUDE.md +93 -0
- package/template/stages/08-qa/HANDOFF.md +114 -0
- package/template/stages/08-qa/HANDOFF.md.template +96 -0
- package/template/stages/08-qa/config.yaml +56 -0
- package/template/stages/08-qa/inputs/.gitkeep +0 -0
- package/template/stages/08-qa/outputs/.gitkeep +0 -0
- package/template/stages/08-qa/outputs/qa_report.md +138 -0
- package/template/stages/08-qa/prompts/.gitkeep +0 -0
- package/template/stages/08-qa/prompts/CLAUDE.md +0 -0
- package/template/stages/08-qa/prompts/collaboration.md +65 -0
- package/template/stages/08-qa/prompts/validation.md +71 -0
- package/template/stages/08-qa/templates/.gitkeep +0 -0
- package/template/stages/09-testing/CLAUDE.md +124 -0
- package/template/stages/09-testing/HANDOFF.md +118 -0
- package/template/stages/09-testing/HANDOFF.md.template +113 -0
- package/template/stages/09-testing/config.yaml +65 -0
- package/template/stages/09-testing/inputs/.gitkeep +0 -0
- package/template/stages/09-testing/outputs/.gitkeep +0 -0
- package/template/stages/09-testing/outputs/test_report.md +146 -0
- package/template/stages/09-testing/prompts/.gitkeep +0 -0
- package/template/stages/09-testing/prompts/CLAUDE.md +0 -0
- package/template/stages/09-testing/prompts/collaboration.md +77 -0
- package/template/stages/09-testing/prompts/validation.md +83 -0
- package/template/stages/09-testing/templates/.gitkeep +0 -0
- package/template/stages/10-deployment/CLAUDE.md +117 -0
- package/template/stages/10-deployment/HANDOFF.md +141 -0
- package/template/stages/10-deployment/HANDOFF.md.template +148 -0
- package/template/stages/10-deployment/config.yaml +61 -0
- package/template/stages/10-deployment/inputs/.gitkeep +0 -0
- package/template/stages/10-deployment/outputs/.gitkeep +0 -0
- package/template/stages/10-deployment/prompts/.gitkeep +0 -0
- package/template/stages/10-deployment/prompts/CLAUDE.md +0 -0
- package/template/stages/10-deployment/prompts/collaboration.md +80 -0
- package/template/stages/10-deployment/prompts/validation.md +93 -0
- package/template/stages/10-deployment/templates/CLAUDE.md +0 -0
- package/template/stages/10-deployment/templates/github-actions-cd.yaml +118 -0
- package/template/stages/10-deployment/templates/github-actions-ci.yaml +136 -0
- package/template/state/progress.json.template +111 -0
- package/template/state/templates/CLAUDE.md +0 -0
- package/template/state/templates/handoff_base.md.template +187 -0
- package/template/state/templates/phase_state.md.template +97 -0
package/README.md
ADDED
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
# ax-templates
|
|
2
|
+
|
|
3
|
+
Multi-AI Workflow Pipeline for Software Development
|
|
4
|
+
|
|
5
|
+
[](https://github.com/your-org/ax-templates/actions/workflows/ci.yml)
|
|
6
|
+
[](https://www.npmjs.com/package/ax-templates)
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
ax-templates is a 10-stage software development workflow pipeline that orchestrates multiple AI models (Claude, Gemini, Codex) for end-to-end project development.
|
|
12
|
+
|
|
13
|
+
### Key Features
|
|
14
|
+
|
|
15
|
+
- **10-Stage Pipeline**: Complete development cycle from brainstorming to deployment
|
|
16
|
+
- **Multi-AI Orchestration**: Intelligent collaboration between Gemini, Claude, and Codex with parallel, sequential, and debate modes
|
|
17
|
+
- **Smart HANDOFF System**: Automatic context extraction, semantic compression, and AI memory integration
|
|
18
|
+
- **Auto-Checkpoint & Smart Rollback**: Task-based triggers, file change detection, partial rollback support
|
|
19
|
+
- **Pipeline Forking**: Branch exploration for architecture alternatives with merge capabilities
|
|
20
|
+
- **Stage Personas**: Optimized AI behavior profiles per stage (Creative Explorer, Precise Builder, etc.)
|
|
21
|
+
- **Output Validation**: Automated quality checks with lint, typecheck, and coverage verification
|
|
22
|
+
- **Dual Distribution**: Both NPM CLI and Claude Code plugin available
|
|
23
|
+
|
|
24
|
+
### Pipeline Stages
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
┌─────────────────────────────────────────────────────────────────────┐
|
|
28
|
+
│ ax-templates Pipeline │
|
|
29
|
+
├─────────────────────────────────────────────────────────────────────┤
|
|
30
|
+
│ 01 Brainstorm → 02 Research → 03 Planning → 04 UI/UX │
|
|
31
|
+
│ Gemini Claude Gemini Gemini │
|
|
32
|
+
├─────────────────────────────────────────────────────────────────────┤
|
|
33
|
+
│ 05 Tasks → 06 Implement → 07 Refactor → 08 QA → 09 Test │
|
|
34
|
+
│ Claude Claude Codex Claude Codex │
|
|
35
|
+
├─────────────────────────────────────────────────────────────────────┤
|
|
36
|
+
│ 10 Deploy │
|
|
37
|
+
│ Claude │
|
|
38
|
+
└─────────────────────────────────────────────────────────────────────┘
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
| Stage | Name | AI Model | Mode |
|
|
42
|
+
|-------|------|----------|------|
|
|
43
|
+
| 01 | Brainstorming | Gemini + Claude | YOLO (Container) |
|
|
44
|
+
| 02 | Research | Claude | Plan Mode |
|
|
45
|
+
| 03 | Planning | Gemini | Plan Mode |
|
|
46
|
+
| 04 | UI/UX Planning | Gemini | Plan Mode |
|
|
47
|
+
| 05 | Task Management | Claude | Plan Mode |
|
|
48
|
+
| 06 | Implementation | Claude | Plan + Sandbox |
|
|
49
|
+
| 07 | Refactoring | Codex | Deep Dive |
|
|
50
|
+
| 08 | QA | Claude | Plan + Sandbox |
|
|
51
|
+
| 09 | Testing & E2E | Codex | Sandbox + Playwright |
|
|
52
|
+
| 10 | CI/CD & Deployment | Claude | Headless |
|
|
53
|
+
|
|
54
|
+
## Installation
|
|
55
|
+
|
|
56
|
+
### Quick Start with npx
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# Create a new project
|
|
60
|
+
npx create-ax-project my-project
|
|
61
|
+
cd my-project
|
|
62
|
+
|
|
63
|
+
# Edit project brief
|
|
64
|
+
# stages/01-brainstorm/inputs/project_brief.md
|
|
65
|
+
|
|
66
|
+
# Start development with Claude Code
|
|
67
|
+
/run-stage 01-brainstorm
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Using Claude Code
|
|
71
|
+
|
|
72
|
+
In Claude Code, all slash commands are available:
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
/status # Check pipeline status
|
|
76
|
+
/run-stage 01-brainstorm
|
|
77
|
+
/handoff # Create handoff document
|
|
78
|
+
/next # Move to next stage
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Quick Start
|
|
82
|
+
|
|
83
|
+
### Step-by-Step
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
# 1. Create project
|
|
87
|
+
npx create-ax-project my-saas-app
|
|
88
|
+
cd my-saas-app
|
|
89
|
+
|
|
90
|
+
# 2. Edit your project brief
|
|
91
|
+
# Open: stages/01-brainstorm/inputs/project_brief.md
|
|
92
|
+
|
|
93
|
+
# 3. Start brainstorming stage
|
|
94
|
+
# In Claude Code:
|
|
95
|
+
/brainstorm
|
|
96
|
+
|
|
97
|
+
# 4. Check status anytime
|
|
98
|
+
/status
|
|
99
|
+
|
|
100
|
+
# 5. Create handoff and move to next stage
|
|
101
|
+
/handoff
|
|
102
|
+
/next
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Project Brief Template
|
|
106
|
+
|
|
107
|
+
Edit `stages/01-brainstorm/inputs/project_brief.md`:
|
|
108
|
+
|
|
109
|
+
```markdown
|
|
110
|
+
## 프로젝트 이름
|
|
111
|
+
my-saas-app
|
|
112
|
+
|
|
113
|
+
## 한 줄 설명
|
|
114
|
+
[프로젝트를 한 줄로 설명해주세요]
|
|
115
|
+
|
|
116
|
+
## 문제 정의
|
|
117
|
+
[해결하려는 문제는 무엇인가요?]
|
|
118
|
+
|
|
119
|
+
## 타겟 사용자
|
|
120
|
+
[주요 사용자는 누구인가요?]
|
|
121
|
+
|
|
122
|
+
## 핵심 기능 (초안)
|
|
123
|
+
1. [기능 1]
|
|
124
|
+
2. [기능 2]
|
|
125
|
+
3. [기능 3]
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Packages
|
|
129
|
+
|
|
130
|
+
This monorepo contains three packages:
|
|
131
|
+
|
|
132
|
+
| Package | Description | Install |
|
|
133
|
+
|---------|-------------|---------|
|
|
134
|
+
| [`ax-templates`](./packages/cli) | NPM CLI | `npm install -g ax-templates` |
|
|
135
|
+
| [`@ax-templates/core`](./packages/core) | Core library | `npm install @ax-templates/core` |
|
|
136
|
+
| [`@ax-templates/plugin`](./packages/plugin) | Claude Code plugin | `claude plugin install @ax-templates/plugin` |
|
|
137
|
+
|
|
138
|
+
## Commands
|
|
139
|
+
|
|
140
|
+
### Core Commands
|
|
141
|
+
|
|
142
|
+
| Command | CLI | Plugin |
|
|
143
|
+
|---------|-----|--------|
|
|
144
|
+
| Initialize project | `ax init` | `/init-project` |
|
|
145
|
+
| Show status | `ax status` | `/status` |
|
|
146
|
+
| List stages | `ax stages` | `/stages` |
|
|
147
|
+
| Run stage | `ax run-stage <id>` | `/run-stage <id>` |
|
|
148
|
+
| Next stage | `ax next` | `/next` |
|
|
149
|
+
| Create handoff | `ax handoff` | `/handoff` |
|
|
150
|
+
| Create checkpoint | `ax checkpoint` | `/checkpoint` |
|
|
151
|
+
| Restore checkpoint | `ax restore` | `/restore` |
|
|
152
|
+
| Check context | `ax context` | `/context` |
|
|
153
|
+
|
|
154
|
+
### AI Commands
|
|
155
|
+
|
|
156
|
+
| Command | CLI | Plugin |
|
|
157
|
+
|---------|-----|--------|
|
|
158
|
+
| Gemini prompt | `ax gemini <prompt>` | `/gemini <prompt>` |
|
|
159
|
+
| Codex prompt | `ax codex <prompt>` | `/codex <prompt>` |
|
|
160
|
+
|
|
161
|
+
### Multi-AI Commands
|
|
162
|
+
|
|
163
|
+
| Command | CLI | Plugin | Description |
|
|
164
|
+
|---------|-----|--------|-------------|
|
|
165
|
+
| AI Collaboration | `ax collaborate` | `/collaborate` | Run multi-AI collaboration (parallel, sequential, debate modes) |
|
|
166
|
+
| AI Benchmarking | `ax benchmark` | `/benchmark` | Compare AI model performance on tasks |
|
|
167
|
+
| Pipeline Fork | `ax fork` | `/fork` | Create/manage pipeline branches for exploration |
|
|
168
|
+
| Output Validation | `ax validate` | `/validate` | Validate stage outputs against quality criteria |
|
|
169
|
+
|
|
170
|
+
### Stage Shortcuts
|
|
171
|
+
|
|
172
|
+
| Stage | CLI | Plugin |
|
|
173
|
+
|-------|-----|--------|
|
|
174
|
+
| 01-brainstorm | `ax brainstorm` | `/brainstorm` |
|
|
175
|
+
| 02-research | `ax research` | `/research` |
|
|
176
|
+
| 03-planning | `ax planning` | `/planning` |
|
|
177
|
+
| 04-ui-ux | `ax ui-ux` | `/ui-ux` |
|
|
178
|
+
| 05-task-management | `ax tasks` | `/tasks` |
|
|
179
|
+
| 06-implementation | `ax implement` | `/implement` |
|
|
180
|
+
| 07-refactoring | `ax refactor` | `/refactor` |
|
|
181
|
+
| 08-qa | `ax qa` | `/qa` |
|
|
182
|
+
| 09-testing | `ax test` | `/test` |
|
|
183
|
+
| 10-deployment | `ax deploy` | `/deploy` |
|
|
184
|
+
|
|
185
|
+
## Configuration
|
|
186
|
+
|
|
187
|
+
Project configuration is stored in `.ax-config.yaml`:
|
|
188
|
+
|
|
189
|
+
```yaml
|
|
190
|
+
ax_templates:
|
|
191
|
+
version: "2.0.0"
|
|
192
|
+
|
|
193
|
+
paths:
|
|
194
|
+
project_root: "./my-app"
|
|
195
|
+
stages_output: "./stages"
|
|
196
|
+
state: "./state"
|
|
197
|
+
checkpoints: "./state/checkpoints"
|
|
198
|
+
|
|
199
|
+
ai:
|
|
200
|
+
gemini: true
|
|
201
|
+
codex: true
|
|
202
|
+
|
|
203
|
+
tmux:
|
|
204
|
+
gemini_session: "ax-gemini"
|
|
205
|
+
codex_session: "ax-codex"
|
|
206
|
+
output_timeout: 300
|
|
207
|
+
|
|
208
|
+
context:
|
|
209
|
+
warning: 60
|
|
210
|
+
action: 50
|
|
211
|
+
critical: 40
|
|
212
|
+
task_save_frequency: 5
|
|
213
|
+
|
|
214
|
+
git:
|
|
215
|
+
commit_language: "Korean"
|
|
216
|
+
auto_commit: true
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
## Project Structure
|
|
220
|
+
|
|
221
|
+
Each project is fully self-contained with all pipeline components:
|
|
222
|
+
|
|
223
|
+
```
|
|
224
|
+
my-project/ # PROJECT_ROOT
|
|
225
|
+
├── .claude/ # Claude Code configuration
|
|
226
|
+
│ ├── commands/ # Slash commands (26 commands)
|
|
227
|
+
│ ├── hooks/ # Lifecycle hooks
|
|
228
|
+
│ ├── skills/ # AI skills
|
|
229
|
+
│ └── settings.json
|
|
230
|
+
├── stages/ # 10-stage pipeline
|
|
231
|
+
│ ├── 01-brainstorm/
|
|
232
|
+
│ │ ├── CLAUDE.md # Stage-specific AI instructions
|
|
233
|
+
│ │ ├── config.yaml
|
|
234
|
+
│ │ ├── prompts/
|
|
235
|
+
│ │ ├── inputs/
|
|
236
|
+
│ │ │ └── project_brief.md # Start here!
|
|
237
|
+
│ │ ├── outputs/ # Generated artifacts
|
|
238
|
+
│ │ └── HANDOFF.md
|
|
239
|
+
│ ├── 02-research/
|
|
240
|
+
│ └── ... (10 stages total)
|
|
241
|
+
├── config/ # Pipeline configuration
|
|
242
|
+
│ ├── pipeline.yaml
|
|
243
|
+
│ ├── context.yaml
|
|
244
|
+
│ └── ... (15+ config files)
|
|
245
|
+
├── state/ # Project state
|
|
246
|
+
│ ├── progress.json # Pipeline progress
|
|
247
|
+
│ ├── checkpoints/ # Recovery points
|
|
248
|
+
│ └── context/ # Context snapshots
|
|
249
|
+
├── scripts/ # Helper scripts
|
|
250
|
+
├── CLAUDE.md # Main AI instructions
|
|
251
|
+
├── src/ # Source code (from stage 06)
|
|
252
|
+
└── package.json
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
## Design Patterns
|
|
256
|
+
|
|
257
|
+
1. **Sequential Workflow Architecture** - Sequential stage definition and auto-progression
|
|
258
|
+
2. **Stateless Orchestration** - Stateless context transfer via HANDOFF.md
|
|
259
|
+
3. **Orchestrator-Workers** - Parallel agent execution (Brainstorm stage)
|
|
260
|
+
4. **Proactive State Externalization** - External state file management
|
|
261
|
+
5. **State Machine Workflow** - State transition management (progress.json)
|
|
262
|
+
6. **Layered Configuration** - Hierarchical configuration structure
|
|
263
|
+
7. **Multi-AI Collaboration** - Parallel, sequential, and debate modes for AI coordination
|
|
264
|
+
8. **Pipeline Forking** - Branch exploration with merge capabilities
|
|
265
|
+
9. **Smart Context Management** - Semantic compression and AI memory integration
|
|
266
|
+
|
|
267
|
+
## Documentation
|
|
268
|
+
|
|
269
|
+
- [CLI Reference](./packages/cli/README.md)
|
|
270
|
+
- [Plugin Reference](./packages/plugin/README.md)
|
|
271
|
+
- [Migration Guide](./docs/migration-guide.md)
|
|
272
|
+
|
|
273
|
+
## Development
|
|
274
|
+
|
|
275
|
+
### Prerequisites
|
|
276
|
+
|
|
277
|
+
- Node.js >= 18.0.0
|
|
278
|
+
- pnpm >= 8.0.0
|
|
279
|
+
- tmux (for AI sessions)
|
|
280
|
+
|
|
281
|
+
### Setup
|
|
282
|
+
|
|
283
|
+
```bash
|
|
284
|
+
# Clone repository
|
|
285
|
+
git clone https://github.com/your-org/ax-templates.git
|
|
286
|
+
cd ax-templates
|
|
287
|
+
|
|
288
|
+
# Install dependencies
|
|
289
|
+
pnpm install
|
|
290
|
+
|
|
291
|
+
# Build all packages
|
|
292
|
+
pnpm build
|
|
293
|
+
|
|
294
|
+
# Run tests
|
|
295
|
+
pnpm test
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
### Local Development
|
|
299
|
+
|
|
300
|
+
```bash
|
|
301
|
+
# Link CLI globally
|
|
302
|
+
cd packages/cli
|
|
303
|
+
pnpm link --global
|
|
304
|
+
|
|
305
|
+
# Test CLI
|
|
306
|
+
ax --help
|
|
307
|
+
|
|
308
|
+
# Link plugin to Claude Code
|
|
309
|
+
claude plugin link ./packages/plugin
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
### Monorepo Structure
|
|
313
|
+
|
|
314
|
+
```
|
|
315
|
+
ax-templates/
|
|
316
|
+
├── packages/
|
|
317
|
+
│ ├── core/ # Shared business logic
|
|
318
|
+
│ │ ├── src/
|
|
319
|
+
│ │ │ ├── config/ # Configuration management
|
|
320
|
+
│ │ │ ├── stage/ # Stage management
|
|
321
|
+
│ │ │ ├── context/ # Context management
|
|
322
|
+
│ │ │ └── ai/ # AI model abstraction
|
|
323
|
+
│ │ └── package.json
|
|
324
|
+
│ │
|
|
325
|
+
│ ├── cli/ # NPM CLI package
|
|
326
|
+
│ │ ├── src/
|
|
327
|
+
│ │ │ ├── commands/ # CLI commands
|
|
328
|
+
│ │ │ └── prompts/ # Interactive prompts
|
|
329
|
+
│ │ ├── bin/ax.js
|
|
330
|
+
│ │ └── package.json
|
|
331
|
+
│ │
|
|
332
|
+
│ └── plugin/ # Claude Code plugin
|
|
333
|
+
│ ├── plugin.json
|
|
334
|
+
│ ├── CLAUDE.md
|
|
335
|
+
│ ├── .claude/
|
|
336
|
+
│ │ ├── commands/ # Slash commands
|
|
337
|
+
│ │ └── hooks/ # Lifecycle hooks
|
|
338
|
+
│ ├── scripts/ # Helper scripts
|
|
339
|
+
│ └── package.json
|
|
340
|
+
│
|
|
341
|
+
├── templates/ # Installable templates
|
|
342
|
+
│ └── default/ # Default 10-stage template
|
|
343
|
+
│
|
|
344
|
+
├── docs/ # Documentation
|
|
345
|
+
└── package.json # Monorepo root
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
## Contributing
|
|
349
|
+
|
|
350
|
+
1. Fork the repository
|
|
351
|
+
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
|
|
352
|
+
3. Commit your changes (`git commit -m 'feat: add amazing feature'`)
|
|
353
|
+
4. Push to the branch (`git push origin feature/amazing-feature`)
|
|
354
|
+
5. Open a Pull Request
|
|
355
|
+
|
|
356
|
+
### Commit Convention
|
|
357
|
+
|
|
358
|
+
We use [Conventional Commits](https://www.conventionalcommits.org/):
|
|
359
|
+
|
|
360
|
+
- `feat`: New feature
|
|
361
|
+
- `fix`: Bug fix
|
|
362
|
+
- `docs`: Documentation
|
|
363
|
+
- `chore`: Maintenance
|
|
364
|
+
- `refactor`: Code refactoring
|
|
365
|
+
- `test`: Test updates
|
|
366
|
+
|
|
367
|
+
## License
|
|
368
|
+
|
|
369
|
+
MIT
|
|
370
|
+
|
|
371
|
+
## Related
|
|
372
|
+
|
|
373
|
+
- [Claude Code](https://claude.ai/claude-code) - AI coding assistant
|
|
374
|
+
- [Gemini CLI](https://github.com/google-gemini/gemini-cli) - Google's AI CLI
|
package/bin/create.js
ADDED
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import fs from 'fs';
|
|
4
|
+
import path from 'path';
|
|
5
|
+
import { fileURLToPath } from 'url';
|
|
6
|
+
|
|
7
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
8
|
+
const __dirname = path.dirname(__filename);
|
|
9
|
+
|
|
10
|
+
// 색상 코드
|
|
11
|
+
const colors = {
|
|
12
|
+
reset: '\x1b[0m',
|
|
13
|
+
green: '\x1b[32m',
|
|
14
|
+
yellow: '\x1b[33m',
|
|
15
|
+
blue: '\x1b[34m',
|
|
16
|
+
cyan: '\x1b[36m',
|
|
17
|
+
red: '\x1b[31m'
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
function log(message, color = 'reset') {
|
|
21
|
+
console.log(`${colors[color]}${message}${colors.reset}`);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function copyRecursiveSync(src, dest) {
|
|
25
|
+
const exists = fs.existsSync(src);
|
|
26
|
+
const stats = exists && fs.statSync(src);
|
|
27
|
+
const isDirectory = exists && stats.isDirectory();
|
|
28
|
+
|
|
29
|
+
if (isDirectory) {
|
|
30
|
+
if (!fs.existsSync(dest)) {
|
|
31
|
+
fs.mkdirSync(dest, { recursive: true });
|
|
32
|
+
}
|
|
33
|
+
fs.readdirSync(src).forEach(childItemName => {
|
|
34
|
+
copyRecursiveSync(
|
|
35
|
+
path.join(src, childItemName),
|
|
36
|
+
path.join(dest, childItemName)
|
|
37
|
+
);
|
|
38
|
+
});
|
|
39
|
+
} else {
|
|
40
|
+
fs.copyFileSync(src, dest);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function main() {
|
|
45
|
+
const args = process.argv.slice(2);
|
|
46
|
+
const projectName = args[0] || '.';
|
|
47
|
+
|
|
48
|
+
// 도움말
|
|
49
|
+
if (projectName === '--help' || projectName === '-h') {
|
|
50
|
+
console.log(`
|
|
51
|
+
${colors.cyan}create-ax-project${colors.reset} - Multi-AI Workflow Pipeline 프로젝트 생성
|
|
52
|
+
|
|
53
|
+
${colors.yellow}사용법:${colors.reset}
|
|
54
|
+
npx create-ax-project <project-name>
|
|
55
|
+
npx create-ax-project . (현재 디렉토리에 생성)
|
|
56
|
+
|
|
57
|
+
${colors.yellow}예시:${colors.reset}
|
|
58
|
+
npx create-ax-project my-saas-app
|
|
59
|
+
npx create-ax-project my-game
|
|
60
|
+
|
|
61
|
+
${colors.yellow}생성 후:${colors.reset}
|
|
62
|
+
1. cd <project-name>
|
|
63
|
+
2. stages/01-brainstorm/inputs/project_brief.md 작성
|
|
64
|
+
3. /run-stage 01-brainstorm 실행
|
|
65
|
+
`);
|
|
66
|
+
process.exit(0);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// 프로젝트 이름 검증
|
|
70
|
+
if (projectName !== '.' && !/^[a-z0-9-]+$/.test(projectName)) {
|
|
71
|
+
log('오류: 프로젝트 이름은 영문 소문자, 숫자, 하이픈만 허용됩니다.', 'red');
|
|
72
|
+
process.exit(1);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
const templateDir = path.join(__dirname, '..', 'template');
|
|
76
|
+
const targetDir = path.resolve(projectName);
|
|
77
|
+
const actualProjectName = projectName === '.' ? path.basename(targetDir) : projectName;
|
|
78
|
+
|
|
79
|
+
// 템플릿 존재 확인
|
|
80
|
+
if (!fs.existsSync(templateDir)) {
|
|
81
|
+
log(`오류: 템플릿 디렉토리를 찾을 수 없습니다: ${templateDir}`, 'red');
|
|
82
|
+
process.exit(1);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// 대상 디렉토리 확인
|
|
86
|
+
if (projectName !== '.' && fs.existsSync(targetDir)) {
|
|
87
|
+
const files = fs.readdirSync(targetDir);
|
|
88
|
+
if (files.length > 0) {
|
|
89
|
+
log(`오류: 디렉토리가 비어있지 않습니다: ${targetDir}`, 'red');
|
|
90
|
+
process.exit(1);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
console.log('');
|
|
95
|
+
log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━', 'cyan');
|
|
96
|
+
log(`🚀 ax-templates 프로젝트 생성: ${actualProjectName}`, 'cyan');
|
|
97
|
+
log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━', 'cyan');
|
|
98
|
+
console.log('');
|
|
99
|
+
|
|
100
|
+
// 1. 대상 디렉토리 생성
|
|
101
|
+
if (!fs.existsSync(targetDir)) {
|
|
102
|
+
fs.mkdirSync(targetDir, { recursive: true });
|
|
103
|
+
}
|
|
104
|
+
log(`✓ 프로젝트 디렉토리: ${targetDir}`, 'green');
|
|
105
|
+
|
|
106
|
+
// 2. 템플릿 복사
|
|
107
|
+
log(' 템플릿 복사 중...', 'blue');
|
|
108
|
+
copyRecursiveSync(templateDir, targetDir);
|
|
109
|
+
log('✓ 템플릿 복사 완료', 'green');
|
|
110
|
+
|
|
111
|
+
// 3. progress.json 초기화
|
|
112
|
+
const progressTemplatePath = path.join(targetDir, 'state', 'progress.json.template');
|
|
113
|
+
const progressPath = path.join(targetDir, 'state', 'progress.json');
|
|
114
|
+
|
|
115
|
+
if (fs.existsSync(progressTemplatePath)) {
|
|
116
|
+
let progressContent = fs.readFileSync(progressTemplatePath, 'utf8');
|
|
117
|
+
const timestamp = new Date().toISOString();
|
|
118
|
+
|
|
119
|
+
progressContent = progressContent
|
|
120
|
+
.replace('{{PROJECT_NAME}}', actualProjectName)
|
|
121
|
+
.replace('{{STARTED_AT}}', timestamp);
|
|
122
|
+
|
|
123
|
+
fs.writeFileSync(progressPath, progressContent);
|
|
124
|
+
fs.unlinkSync(progressTemplatePath); // 템플릿 파일 삭제
|
|
125
|
+
log('✓ progress.json 초기화 완료', 'green');
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
// 4. project_brief.md 생성
|
|
129
|
+
const briefPath = path.join(targetDir, 'stages', '01-brainstorm', 'inputs', 'project_brief.md');
|
|
130
|
+
const briefDir = path.dirname(briefPath);
|
|
131
|
+
|
|
132
|
+
if (!fs.existsSync(briefDir)) {
|
|
133
|
+
fs.mkdirSync(briefDir, { recursive: true });
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
const briefContent = `# Project Brief
|
|
137
|
+
|
|
138
|
+
## 프로젝트 이름
|
|
139
|
+
${actualProjectName}
|
|
140
|
+
|
|
141
|
+
## 한 줄 설명
|
|
142
|
+
[프로젝트를 한 줄로 설명해주세요]
|
|
143
|
+
|
|
144
|
+
## 문제 정의
|
|
145
|
+
[해결하려는 문제는 무엇인가요?]
|
|
146
|
+
|
|
147
|
+
## 타겟 사용자
|
|
148
|
+
[주요 사용자는 누구인가요?]
|
|
149
|
+
|
|
150
|
+
## 핵심 기능 (초안)
|
|
151
|
+
1. [기능 1]
|
|
152
|
+
2. [기능 2]
|
|
153
|
+
3. [기능 3]
|
|
154
|
+
|
|
155
|
+
## 성공 기준
|
|
156
|
+
[프로젝트가 성공했다고 판단하는 기준은?]
|
|
157
|
+
|
|
158
|
+
## 제약조건
|
|
159
|
+
- 일정:
|
|
160
|
+
- 예산:
|
|
161
|
+
- 기술:
|
|
162
|
+
|
|
163
|
+
## 참고 자료
|
|
164
|
+
- [URL 또는 문서]
|
|
165
|
+
`;
|
|
166
|
+
|
|
167
|
+
fs.writeFileSync(briefPath, briefContent);
|
|
168
|
+
log('✓ project_brief.md 생성 완료', 'green');
|
|
169
|
+
|
|
170
|
+
// 5. 완료 메시지
|
|
171
|
+
console.log('');
|
|
172
|
+
log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━', 'green');
|
|
173
|
+
log(`✓ 프로젝트 '${actualProjectName}' 생성 완료!`, 'green');
|
|
174
|
+
log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━', 'green');
|
|
175
|
+
console.log('');
|
|
176
|
+
log('다음 단계:', 'yellow');
|
|
177
|
+
if (projectName !== '.') {
|
|
178
|
+
console.log(` 1. cd ${projectName}`);
|
|
179
|
+
console.log(' 2. stages/01-brainstorm/inputs/project_brief.md 작성');
|
|
180
|
+
console.log(' 3. /run-stage 01-brainstorm 실행');
|
|
181
|
+
} else {
|
|
182
|
+
console.log(' 1. stages/01-brainstorm/inputs/project_brief.md 작성');
|
|
183
|
+
console.log(' 2. /run-stage 01-brainstorm 실행');
|
|
184
|
+
}
|
|
185
|
+
console.log('');
|
|
186
|
+
log('파이프라인 스테이지:', 'cyan');
|
|
187
|
+
console.log(' 01-brainstorm → 02-research → 03-planning → 04-ui-ux');
|
|
188
|
+
console.log(' → 05-task-management → 06-implementation → 07-refactoring');
|
|
189
|
+
console.log(' → 08-qa → 09-testing → 10-deployment');
|
|
190
|
+
console.log('');
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
main();
|
package/package.json
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "create-ax-project",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Multi-AI Workflow Pipeline - Create new projects with 10-stage development workflow",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"create-ax-project": "./bin/create.js"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"bin/",
|
|
11
|
+
"template/"
|
|
12
|
+
],
|
|
13
|
+
"scripts": {
|
|
14
|
+
"create": "node bin/create.js"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"ai",
|
|
18
|
+
"workflow",
|
|
19
|
+
"pipeline",
|
|
20
|
+
"claude",
|
|
21
|
+
"gemini",
|
|
22
|
+
"codex",
|
|
23
|
+
"multi-ai"
|
|
24
|
+
],
|
|
25
|
+
"author": "znehraks@gmail.com",
|
|
26
|
+
"license": "MIT",
|
|
27
|
+
"engines": {
|
|
28
|
+
"node": ">=18.0.0"
|
|
29
|
+
},
|
|
30
|
+
"repository": {
|
|
31
|
+
"type": "git",
|
|
32
|
+
"url": "https://github.com/znehraks/ax-templates"
|
|
33
|
+
},
|
|
34
|
+
"bugs": {
|
|
35
|
+
"url": "https://github.com/znehraks/ax-templates/issues"
|
|
36
|
+
},
|
|
37
|
+
"homepage": "https://github.com/znehraks/ax-templates#readme"
|
|
38
|
+
}
|
|
File without changes
|