chore: quantlab-agent 프로젝트 초기 설정
agent_guide 템플릿 기반으로 프로젝트 구조 설정. Gitea(quantlab-agent), Vikunja(project #15) 연동 완료. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
40
.planning/.continue-here.md
Normal file
40
.planning/.continue-here.md
Normal file
@@ -0,0 +1,40 @@
|
||||
---
|
||||
phase: 00-System Setup
|
||||
task: 0
|
||||
total_tasks: 0
|
||||
status: paused
|
||||
last_updated: 2026-03-29T19:40:00Z
|
||||
---
|
||||
|
||||
<current_state>
|
||||
우리는 `/gsd-new-project` 에 준하는 마스터 부트스트랩 프로젝트 초기화 작업을 완벽하게 끝냈습니다.
|
||||
모든 SSOT 파일(PROJECT.md, ARCHITECTURE.md, config.json)이 수립되었고, 메인 위협이었던 서브모듈 동기화 문제를 해결할 마스터 허브 통제 스위치(`sync_vendors`)까지 삽입되어 Git에 영구 커밋된 상태입니다. 정확히 1단계 로드맵 구축을 시작하기 직전의 출발선에 서 있습니다.
|
||||
</current_state>
|
||||
|
||||
<completed_work>
|
||||
- `.planning/PROJECT.md` 제정 (Zero-Pollution 및 Git 원칙 헌법)
|
||||
- `.planning/codebase/` 내부 아키텍처 및 스택 매핑
|
||||
- `.agent/scripts/sync_vendors.sh/.bat` (마스터 배포자 유틸) 생성
|
||||
- 19개의 추출된 최고급 스킬셋을 Git 트래킹에 편입시켜 100% 클론 복제성 확보
|
||||
</completed_work>
|
||||
|
||||
<remaining_work>
|
||||
- `/gsd-plan-phase 1` 을 실행하여 실제 개발 로드맵 설계 시작
|
||||
</remaining_work>
|
||||
|
||||
<decisions_made>
|
||||
- **Master-Satellite 배포 위상:** 이 `new_gene` 저장소에서만 오픈소스를 동기화하고, 다른 파생 레포지토리들은 어떤 스크립트도 없이 `git pull` 만으로 무기를 상속받는 완벽한 Zero-Pollution 구조 채택.
|
||||
- 어떠한 글로벌 패키지도 허용하지 않고 오직 로컬 `.agent/env` 에 모든 기능을 캡슐화.
|
||||
</decisions_made>
|
||||
|
||||
<blockers>
|
||||
None.
|
||||
</blockers>
|
||||
|
||||
<context>
|
||||
프로젝트 토대는 더할 나위 없이 단단해졌습니다. 다음 에이전트는 이 파일을 읽자마자 혼란 없이 완벽한 컨텍스트를 흡수한 채, 사용자에게 첫 번째 기능을 묻는 영광스러운 역할을 수행하게 될 것입니다.
|
||||
</context>
|
||||
|
||||
<next_action>
|
||||
Start with: Ask the user to run `/gsd-plan-phase 1` to define the roadmap.
|
||||
</next_action>
|
||||
25
.planning/HANDOFF.json
Normal file
25
.planning/HANDOFF.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"version": "1.0",
|
||||
"timestamp": "2026-03-29T19:40:00Z",
|
||||
"phase": "00-setup",
|
||||
"phase_name": "Project Initialization",
|
||||
"phase_dir": ".planning",
|
||||
"plan": 0,
|
||||
"task": 0,
|
||||
"total_tasks": 0,
|
||||
"status": "paused",
|
||||
"completed_tasks": [],
|
||||
"remaining_tasks": [],
|
||||
"blockers": [],
|
||||
"human_actions_pending": [],
|
||||
"decisions": [
|
||||
{
|
||||
"decision": "Master-Satellite Deployment",
|
||||
"rationale": "Ensures downstream repos remain 100% Zero-Pollution by distributing flattened skills natively via Git Push",
|
||||
"phase": "0"
|
||||
}
|
||||
],
|
||||
"uncommitted_files": [],
|
||||
"next_action": "Run /gsd-plan-phase 1 to begin roadmap construction",
|
||||
"context_notes": "Zero-pollution foundation is perfectly solid. Awaiting Phase 1 initialization."
|
||||
}
|
||||
49
.planning/PROJECT.md
Normal file
49
.planning/PROJECT.md
Normal file
@@ -0,0 +1,49 @@
|
||||
# Project Context: Zero-Pollution Agent Bootstrap Kit
|
||||
|
||||
## What This Is
|
||||
`new_gene`은 향후 모든 AI 에이전트 개발 및 자동화 프로젝트에 포크(Fork)되거나 복제되어 즉각적으로 활용되는 **'완전 자율형·무오염(Zero-Pollution) 부트스트랩 마스터 템플릿'** 입니다.
|
||||
|
||||
## Core Value
|
||||
코딩을 시작할 때 발생하는 세팅 오류, 프롬프트 해킹, 메인 브랜치 훼손, API 키 유출을 원천적으로 막습니다. 누구나 이 저장소만 클론(`git clone`) 받으면 환경 설정이나 별도의 복잡한 스크립트 실행 없이 19개의 최고급 개발 스킬(TDD, Git Worktree)과 GSD 오케스트레이터를 즉시 꺼내 쓸 수 있는 완벽한 턴키(Turn-key) 생태계를 구축합니다.
|
||||
|
||||
## Success Criteria
|
||||
1. 사용자가 단 1개의 글로벌 패키지를 설치하지 않아도 로컬(`.agent/env/node_modules`)만을 통해 100% 작동해야 함.
|
||||
2. 터미널 명령어나 히스토리에 API 토큰이 노출되지 않고 자동 동기화(Vikunja/Gitea)가 이루어져야 함.
|
||||
3. 에이전트는 코딩 전 반드시 TDD 가설을 세우고, 서브 브랜치(Worktree)로 격리되어 안전하게 작업해야 함.
|
||||
4. **[Key Constraint]** 템플릿의 모든 아키텍처는 `git clone`만으로 완전한 작업 흐름이 이어져야 하며, 각 파생 프로젝트들은 `git pull` 명령어 단 한 번만으로 최신 무기와 스킬(Agent 엔진)이 완벽히 업데이트되어야 함.
|
||||
|
||||
## Requirements
|
||||
|
||||
### Validated
|
||||
- ✓ [Zero-Pollution] 모든 스킬(`superpowers`, `obsidian-skills`)이 글로벌 영역이 아닌 내부(`.agent/skills/`)로 캡슐화되어 직접 Git 트래킹을 받음.
|
||||
- ✓ [API Bridge] `sync_wiki.js`와 `sync_vikunja.js`를 통해 토큰 노출 없이 서버와 통신 구조 확보.
|
||||
- ✓ [Persistence] `claude-mem` (SQLite MCP) 기반의 오답노트 기억 능력 탑재.
|
||||
|
||||
### Active
|
||||
- [x] `git clone`/`git pull`만으로 19개 스킬 즉각 로드 (Master Sync Hub 토폴로지 확립)
|
||||
- [ ] GSD Phase 계획과 실제 코드 실행 간 오차를 자동으로 검증할 브릿지 시스템 보완
|
||||
- [ ] `.env.agent`만 셋업하면 모든 것이 알아서 연결되는 완전 자율화 체계 구축 지속
|
||||
|
||||
### Out of Scope (배포 제약)
|
||||
- **하위 프로젝트(Satellite Repo)에서의 오픈소스 서브모듈(Vendor) 직접 업데이트 행위 원천 금지.** (오직 ఈ Master 템플릿의 `sync_vendors` 스크립트만이 서브모듈의 버전을 평탄화 추출/번역하여 100% 검증된 정적 파일(`.agent/skills/`)로 Git 트래킹합니다.)
|
||||
- 하위 패키지에 글로벌 NPM 패키지 설치 요구 및 부트스트랩 스크립트 실행 강요 금지 (오직 `git pull` 하나만으로 마스터의 스킬셋 변동분을 수동적으로 상속받을 것).
|
||||
- `/start` 및 `/end` 같은 과거 유산(Legacy) 도입 금지
|
||||
|
||||
---
|
||||
*Last updated: 2026-03-29 after Phase 1 initialization*
|
||||
|
||||
## Evolution
|
||||
This document evolves at phase transitions and milestone boundaries.
|
||||
|
||||
**After each phase transition** (via `/gsd-transition`):
|
||||
1. Requirements invalidated? → Move to Out of Scope with reason
|
||||
2. Requirements validated? → Move to Validated with phase reference
|
||||
3. New requirements emerged? → Add to Active
|
||||
4. Decisions to log? → Add to Key Decisions
|
||||
5. "What This Is" still accurate? → Update if drifted
|
||||
|
||||
**After each milestone** (via `/gsd-complete-milestone`):
|
||||
1. Full review of all sections
|
||||
2. Core Value check — still the right priority?
|
||||
3. Audit Out of Scope — reasons still valid?
|
||||
4. Update Context with current state
|
||||
11
.planning/ROADMAP.md
Normal file
11
.planning/ROADMAP.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# Roadmap
|
||||
|
||||
## Phase 1: Zero-Pollution Pipeline Stabilization
|
||||
**Status:** Complete (2026-03-30)
|
||||
**Goal:** Fix the Master-Satellite synchronization pipeline to natively extract GSD skills, UI data, and Python MCP dependencies so that satellite repositories bootstrap via zero-click.
|
||||
|
||||
### Requirements
|
||||
- REQ-01: Bootstrap script must auto-install Python dependencies for MCP tools across satellites.
|
||||
- REQ-02: Master sync script must invoke `get-shit-done-cc` local installation to native `.agent/skills` and ensure Git tracking.
|
||||
- REQ-03: Master sync script must invoke `uipro update` and commit changes.
|
||||
- REQ-04: The `.gitignore` generated by `extract_skills.js` must safely whitelist `/gsd` skill directories.
|
||||
16
.planning/codebase/ARCHITECTURE.md
Normal file
16
.planning/codebase/ARCHITECTURE.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# Codebase Architecture (`ARCHITECTURE.md`)
|
||||
|
||||
## Conceptual Core
|
||||
The project employs a **Master-Satellite Zero-Pollution Orchestration Model**.
|
||||
The architecture is designed to host local environments mapped centrally for LLM / Developer agents so that their capabilities and tracking modules do not leak into the developer's global OS environment.
|
||||
|
||||
## Design Patterns & Layers
|
||||
1. **Master Repository Role (`new_gene`)**: Synchronizes third-party Submodules, flattens them via `.agent/scripts/extract_skills.js` and `.agent/scripts/sync_vendors.bat`, and seeds localized GSD skills via local bin instantiation.
|
||||
2. **Satellite Project Consumption**: Satellite repositories pull the tracked objects (like `.agent/get-shit-done/` binaries and `.agent/skills/gsd-*/` files), run `bootstrap.bat`, and safely isolate all code environments.
|
||||
|
||||
## Execution Entry Points
|
||||
- Master Sync: `.agent/scripts/sync_vendors.bat/.sh` initializes NPM bounds, installs `uipro`/`get-shit-done-cc` strictly inside `.agent/env/node_modules/`, and runs them from the root via `.agent/env/node_modules/.bin/...` to safely isolate state.
|
||||
- Satellite Install: `bootstrap.bat/.sh` executes the runtime scripts sequentially (Git modules -> node env -> Python `.requirements` instantiation using a developer-provided `$AGENT_PYTHON_PATH`).
|
||||
|
||||
## Data Flow
|
||||
The data flow travels exclusively via file IO (File reading -> Markdown modification) controlled by the Antigravity Agent framework executing `Task()` components or user IDE plugins. Git actions (add/commit/push) ensure cross-device immutability.
|
||||
15
.planning/codebase/CONCERNS.md
Normal file
15
.planning/codebase/CONCERNS.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# Codebase Concerns (`CONCERNS.md`)
|
||||
|
||||
## Known Technical Debt & Fragile Areas
|
||||
|
||||
1. **UTF-8 Support on PowerShell**:
|
||||
The `sync_vendors.bat` script utilizes `chcp 65001 >nul` to support symbols and emojis (`🔄`, `⛏️`, `🌐`). However, invoking this `.bat` script directly from the new `powershell.exe` execution layers occasionally mangles the output characters or breaks parsing commands. Developers manually validating `sync_vendors.bat` in Powershell may observe syntax exceptions that don't manifest inside standard CMD executions.
|
||||
|
||||
2. **Path Encoding Depth Limitations**:
|
||||
The GSD implementation maps Deep nested `.agent/vendor/**` repositories and heavily duplicates structure into `.agent/skills/`. For Windows systems overriding 260-character restrictions, this can theoretically introduce silent file truncation if the local `.agent` environment scales beyond expectations.
|
||||
|
||||
3. **Submodule Divergences**:
|
||||
The primary master hook uses `git submodule update --remote --merge`. Tracking upstream mains from multiple open-source repositories means breaking changes authored dynamically by upstream maintainers (e.g., `browser_use` rewriting its setup commands or `obsidian-skills` evolving) could cascade into local logic breaks, requiring a robust `translate_skills.js` sync layer to patch integration shifts.
|
||||
|
||||
4. **Environment Abstraction Leaks**:
|
||||
While Zero-Pollution aims to block system pollution, `bootstrap.bat` utilizes `AGENT_PYTHON_PATH` configured globally to execute `.requirements.txt`. There is an implicit assumption that this python executable is correctly mapped to an isolated virtual environment (`venv`). The architecture relies heavily on Developer compliance to not provide a root Python executable.
|
||||
14
.planning/codebase/CONVENTIONS.md
Normal file
14
.planning/codebase/CONVENTIONS.md
Normal file
@@ -0,0 +1,14 @@
|
||||
# Codebase Conventions (`CONVENTIONS.md`)
|
||||
|
||||
## Code Style & Scripts
|
||||
- **Shell / Bash**: Ensure standard `$?` exit evaluation handling with `if [ $? -ne 0 ]; then exit 1; fi`.
|
||||
- **Batch Scripting**: Ensure `%errorlevel%` mapping with `if %errorlevel% neq 0 ( exit /b %errorlevel% )`. Uses `chcp 65001 >nul` for cross-platform UTF-8 emoji support.
|
||||
- **Node.js Scripts**: Typically wrapped recursively checking properties (`fs.existsSync`, `fs.readdirSync`), enforcing zero-pollution (ignoring flattened dependencies via explicit `fs.writeFileSync`).
|
||||
|
||||
## Architectural Patterns
|
||||
- **Zero-Pollution Rule**: Never install global node_modules (`-g`) or system modifications. Path routing is managed securely using execution strings formatted like `path/to/local/bin` instead of relying on `$PATH`.
|
||||
- **Idempotency Rule**: The bootstrap processes (`bootstrap.sh`, `bootstrap.bat`) are designed to be run hundreds of times safely, using `if not exist` checks before taking any structural action.
|
||||
|
||||
## Error Handling
|
||||
- Terminal outputs are robust, mapping explicit phases like `[1/5]`, `[2/5]` to terminal stdout.
|
||||
- Execution halts strictly on critical dependency update failures.
|
||||
17
.planning/codebase/INTEGRATIONS.md
Normal file
17
.planning/codebase/INTEGRATIONS.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Codebase Integrations (`INTEGRATIONS.md`)
|
||||
|
||||
## Webhooks & APIs
|
||||
- Currently, this project relies purely on Git synchronisation and CLI execution. Network activity is limited to downloading external packages (`npm install`, `pip install`, `git clone/pull`).
|
||||
- Once MCP tools are invoked, `claude-mem` likely interacts with SQLite logic or LLM memory endpoints depending on its runtime schema. `browser-use` interfaces with web targets directly.
|
||||
|
||||
## Databases & Persistence
|
||||
- There are no central RDBMS or NoSQL layers native to this orchestration layer.
|
||||
- **Knowledge/Memory**: The project serves as an SSOT using markdown (`.planning/*`, `.agent/knowledge/*`).
|
||||
- **MCP state persistence**: Relies on specific plugin's local DBs (e.g., SQLite for mem logs).
|
||||
|
||||
## Third-Party Authentication
|
||||
- Configured by `.agent/config/.env.agent` which includes API keys (Vikunja Task ID, Gitea instances, etc.), though the current codebase only seeds and checks for its existence without directly invoking the APIs inside the shell scripts.
|
||||
|
||||
## Core External Tools
|
||||
- **Git**: Primary persistence and vendor orchestration transport mechanism.
|
||||
- **NPM & PIP**: Invoked asynchronously by bootstrap scripts to satisfy AI tool dependencies.
|
||||
29
.planning/codebase/STACK.md
Normal file
29
.planning/codebase/STACK.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# Codebase Stack (`STACK.md`)
|
||||
|
||||
## Languages
|
||||
- **Shell / Batch Scripting**: Used heavily for the zero-pollution bootstrap scripts (`bootstrap.bat`, `bootstrap.sh`, `sync_vendors.bat`, `sync_vendors.sh`).
|
||||
- **JavaScript (Node.js)**: Used for vendor extraction and translation scripts (`extract_skills.js`, `translate_skills.js`).
|
||||
- **Python**: Required indirectly for running installed Python MCP servers (`browser_use`, `mini-swe`, `claude-mem`) during satellite bootstrapping.
|
||||
|
||||
## Runtimes & Frameworks
|
||||
- **Node.js**: The `.agent/env` isolates local dependencies (e.g. `npm install`, `npx get-shit-done-cc`, `uipro-cli`).
|
||||
- **Python**: Expected to be provided externally via user's `AGENT_PYTHON_PATH` to isolate plugin Python processes.
|
||||
- **Agent Engines**: Target runtimes interacting with this environment include Google Gemini CLI / Antigravity, Claude Code, and Copilot.
|
||||
|
||||
## Core Dependencies
|
||||
- **UI & Workflow Generative Frameworks**:
|
||||
- `get-shit-done-cc`: CLI orchestration framework for generating GSD workflows.
|
||||
- `uipro-cli`: Generates UI/UX specification data.
|
||||
- **Git Submodules** (defined in `.gitmodules`):
|
||||
- `.agent/vendor/superpowers`
|
||||
- `.agent/knowledge/everything_claude`
|
||||
- `.agent/knowledge/awesome_claude`
|
||||
- `.agent/vendor/obsidian-skills`
|
||||
- `.agent/services/claude-mem`
|
||||
- `.agent/services/mcp-core`
|
||||
- `.agent/vendor/browser_use`
|
||||
- `.agent/vendor/mini-swe`
|
||||
|
||||
## Configuration
|
||||
- `.agent/config/.env.agent`: Developer-specific agent configuration. Uses `.template` fallback.
|
||||
- `PROJECT.md` & `ROADMAP.md`: Project-level planning and tracker configurations.
|
||||
19
.planning/codebase/STRUCTURE.md
Normal file
19
.planning/codebase/STRUCTURE.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# Codebase Structure (`STRUCTURE.md`)
|
||||
|
||||
## Directory Map
|
||||
|
||||
- **Root Files**
|
||||
- `bootstrap.bat` / `bootstrap.sh`: Primary runtime orchestrators for setting up the node/python environment.
|
||||
- `.gitignore` & `.gitmodules`: Repository definitions protecting the ecosystem from pollution.
|
||||
|
||||
- **`.agent/` (The Enclave)**
|
||||
- `.agent/env/`: The isolated local node environment container. Has its own `package.json` avoiding merging issues with user code.
|
||||
- `.agent/scripts/`: Home of the Master Sync orchestration rules (`sync_vendors`, `extract_skills.js`, `translate_skills.js`).
|
||||
- `.agent/skills/`: Holds the flattened markdown files (`SKILL.md`) that agents interpret on system boot. Note `gsd-*/` is whitelisted here.
|
||||
- `.agent/vendor/`: The raw checked-out git repository targets before any translations/flattening is parsed out of them.
|
||||
- `.agent/config/`: Runtime configurations specific to the current physical machine (`.env.agent`).
|
||||
- `.agent/knowledge/`: Stores raw unstructured domain context for explicit queries.
|
||||
|
||||
- **`.planning/` (GSD Execution)**
|
||||
- Manages the Project State (`PROJECT.md`, `ROADMAP.md`, `STATE.md`).
|
||||
- `phases/`: Artifact history holding individual plans (`01-PLAN.md`) and the verification/summary reports mapping their outcomes.
|
||||
12
.planning/codebase/TESTING.md
Normal file
12
.planning/codebase/TESTING.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# Codebase Testing (`TESTING.md`)
|
||||
|
||||
## Structural Verification
|
||||
Given that this is an AI Framework Infrastructure project (Bootstrap Kit), formal unit testing via Jest/Vitest does not primarily apply to the root structure.
|
||||
|
||||
## GSD Audit Testing
|
||||
Testing is defined strictly through the **Plan-Execute-Verify** cycle of the Get-Shit-Done (GSD) framework:
|
||||
- **`[Acceptance Criteria]`**: Each phase and subtask has shell commands evaluated by `grep` or file existence checks ensuring conditions are logically provable (e.g. `grep "npx get-shit-done-cc" .agent/scripts/sync_vendors.bat`).
|
||||
- **Verifiers**: The `.planning/phases/*-VERIFICATION.md` pattern uses dedicated checker agents to automatically validate system goals against the physical outcome on disk.
|
||||
|
||||
## Continuous Integration
|
||||
At the moment, no GitHub Actions or standard CI test runners execute automated validation, as validation strictly hinges on local agent validation (`/gsd-verify-work` or `gsd-plan-checker` routines).
|
||||
14
.planning/config.json
Normal file
14
.planning/config.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"mode": "yolo",
|
||||
"granularity": "Standard",
|
||||
"parallelization": true,
|
||||
"commit_docs": true,
|
||||
"model_profile": "balanced",
|
||||
"workflow": {
|
||||
"research": true,
|
||||
"plan_check": true,
|
||||
"verifier": true,
|
||||
"nyquist_validation": true,
|
||||
"auto_advance": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
# Phase 1: Zero-Pollution Pipeline Stabilization - Context
|
||||
|
||||
**Gathered:** 2026-03-30
|
||||
**Status:** Ready for planning
|
||||
**Source:** PRD Express Path (implementation_plan.md)
|
||||
|
||||
<domain>
|
||||
## Phase Boundary
|
||||
Fix the Master-Satellite synchronization pipeline to natively extract GSD skills, UI updates, and Python dependencies. This ensures that a zero-click `bootstrap.bat/.sh` works flawlessly across new workspaces without violating the Zero-Pollution architecture.
|
||||
</domain>
|
||||
|
||||
<decisions>
|
||||
## Implementation Decisions
|
||||
|
||||
### Zero-Click Python Dependencies
|
||||
- Modify `bootstrap.bat` and `bootstrap.sh` to auto-detect and pip-install Python dependencies for MCP tools (`browser_use`, `claude-mem`, `mini-swe`).
|
||||
|
||||
### Master Sync Pipeline GSD Extraction
|
||||
- Modify `sync_vendors.bat` and `sync_vendors.sh` to execute `npm update get-shit-done-cc uipro-cli`, `npx uipro update`, and `npx get-shit-done-cc --antigravity --local` inside `.agent/env`.
|
||||
- Ensure output folders `.agent/get-shit-done/` and `.agent/skills/gsd-*/` are `git add`ed.
|
||||
|
||||
### Gitignore Rules for extracted skills
|
||||
- Modify `.agent/scripts/extract_skills.js` to whitelist `!gsd-*/` in the generated `.gitignore` so Phase planning and GSD execution tools successfully persist to git.
|
||||
|
||||
### the agent's Discretion
|
||||
- The method of Python virtual environment detection vs global python is left to the agent, though leveraging `AGENT_PYTHON_PATH` if specified is preferred.
|
||||
</decisions>
|
||||
|
||||
<canonical_refs>
|
||||
## Canonical References
|
||||
|
||||
**Downstream agents MUST read these before planning or implementing.**
|
||||
|
||||
### Zero Pollution Scripts
|
||||
- `bootstrap.bat`
|
||||
- `bootstrap.sh`
|
||||
- `.agent/scripts/sync_vendors.bat`
|
||||
- `.agent/scripts/sync_vendors.sh`
|
||||
- `.agent/scripts/extract_skills.js`
|
||||
|
||||
</canonical_refs>
|
||||
|
||||
<specifics>
|
||||
## Specific Ideas
|
||||
- The `npx get-shit-done-cc --antigravity --local` command must be run relative to the project root or precisely routed, otherwise GSD commands won't appear sequentially.
|
||||
|
||||
</specifics>
|
||||
|
||||
<deferred>
|
||||
## Deferred Ideas
|
||||
None — PRD covers phase scope.
|
||||
</deferred>
|
||||
|
||||
---
|
||||
|
||||
*Phase: 01-zero-pollution-pipeline-stabilization*
|
||||
*Context gathered: 2026-03-30 via PRD Express Path*
|
||||
@@ -0,0 +1,143 @@
|
||||
---
|
||||
wave: 1
|
||||
depends_on: []
|
||||
files_modified:
|
||||
- ".agent/scripts/sync_vendors.bat"
|
||||
- ".agent/scripts/sync_vendors.sh"
|
||||
- ".agent/scripts/extract_skills.js"
|
||||
- "bootstrap.bat"
|
||||
- "bootstrap.sh"
|
||||
autonomous: true
|
||||
---
|
||||
|
||||
# Phase 1: Zero-Pollution Pipeline Stabilization
|
||||
|
||||
## Objective
|
||||
Fix the Master-Satellite synchronization pipeline to natively extract GSD skills, UI data, and Python MCP dependencies so that satellite repositories bootstrap via zero-click.
|
||||
|
||||
## Verification Criteria
|
||||
- [ ] Running `bootstrap.bat` attempts to install Python `requirements.txt` targets (`browser_use`, `claude-mem`).
|
||||
- [ ] Running `sync_vendors.bat` successfully runs `get-shit-done-cc` generator and Git tracks `.agent/skills/gsd-*/` and `.agent/get-shit-done/`.
|
||||
- [ ] `extract_skills.js` generated `.gitignore` whitelists `!gsd-*/`.
|
||||
|
||||
## must_haves
|
||||
- [ ] `sync_vendors.bat` and `sync_vendors.sh` must execute `npm install`, `npx uipro update` and `npx get-shit-done-cc --antigravity --local`.
|
||||
- [ ] `bootstrap.bat` and `bootstrap.sh` must execute `pip install -r requirements.txt` for Python components if Python env exists.
|
||||
- [ ] GSD execution binaries and folders must be tracked via `git add .agent/get-shit-done/`.
|
||||
|
||||
---
|
||||
|
||||
<task>
|
||||
<read_first>
|
||||
- .agent/scripts/sync_vendors.bat
|
||||
- .agent/scripts/sync_vendors.sh
|
||||
</read_first>
|
||||
<action>
|
||||
Add the local GSD extraction and uipro updating mechanism directly inside `sync_vendors.bat` and `sync_vendors.sh`.
|
||||
For the bash script (`sync_vendors.sh`), under step `[2/5] 패키지 업데이트 및 GSD, UI-UX-PRO-MAX 동기화...`:
|
||||
Add:
|
||||
```bash
|
||||
cd .agent/env
|
||||
npm install
|
||||
npm update get-shit-done-cc uipro-cli
|
||||
npx uipro update
|
||||
npx get-shit-done-cc --antigravity --local
|
||||
cd ../..
|
||||
```
|
||||
For the batch script (`sync_vendors.bat`), under a new step for package updates:
|
||||
Add:
|
||||
```bat
|
||||
cd .agent\env
|
||||
call npm install
|
||||
call npm update get-shit-done-cc uipro-cli
|
||||
call npx uipro update
|
||||
call npx get-shit-done-cc --antigravity --local
|
||||
cd ..\..
|
||||
```
|
||||
Also, change the git commit logic to track GSD:
|
||||
Change `git add .agent/vendor/ .agent/skills/ .gitmodules` to `git add .agent/vendor/ .agent/skills/ .agent/get-shit-done/ .gitmodules`
|
||||
</action>
|
||||
<acceptance_criteria>
|
||||
`grep "npx get-shit-done-cc --antigravity --local" .agent/scripts/sync_vendors.bat` exits 0.
|
||||
`grep "git add" .agent/scripts/sync_vendors.bat | grep ".agent/get-shit-done/"` exits 0.
|
||||
`grep "npx get-shit-done-cc --antigravity --local" .agent/scripts/sync_vendors.sh` exits 0.
|
||||
`grep "git add" .agent/scripts/sync_vendors.sh | grep ".agent/get-shit-done/"` exits 0.
|
||||
</acceptance_criteria>
|
||||
</task>
|
||||
|
||||
<task>
|
||||
<read_first>
|
||||
- .agent/scripts/extract_skills.js
|
||||
</read_first>
|
||||
<action>
|
||||
Modify `extract_skills.js` to whitelist `gsd-*/` skill folders in the generated `.gitignore`.
|
||||
Find `const gitignoreContent = [` and add `'!gsd-*/',` below `'!mini-swe/',`.
|
||||
</action>
|
||||
<acceptance_criteria>
|
||||
`grep "!gsd-\*/" .agent/scripts/extract_skills.js` exits 0.
|
||||
</acceptance_criteria>
|
||||
</task>
|
||||
|
||||
<task>
|
||||
<read_first>
|
||||
- bootstrap.bat
|
||||
</read_first>
|
||||
<action>
|
||||
Add Python MCP auto-setup logic to `bootstrap.bat` right after the node dependencies step.
|
||||
Add:
|
||||
```bat
|
||||
echo [4/5] Checking and Installing Python MCP Dependencies...
|
||||
if defined AGENT_PYTHON_PATH (
|
||||
echo -^> Using AGENT_PYTHON_PATH: %AGENT_PYTHON_PATH%
|
||||
if exist ".agent\vendor\browser_use\requirements.txt" (
|
||||
"%AGENT_PYTHON_PATH%" -m pip install -r ".agent\vendor\browser_use\requirements.txt"
|
||||
)
|
||||
if exist ".agent\services\claude-mem\requirements.txt" (
|
||||
"%AGENT_PYTHON_PATH%" -m pip install -r ".agent\services\claude-mem\requirements.txt"
|
||||
)
|
||||
if exist ".agent\services\mini-swe\requirements.txt" (
|
||||
"%AGENT_PYTHON_PATH%" -m pip install -r ".agent\services\mini-swe\requirements.txt"
|
||||
)
|
||||
) else (
|
||||
echo -^> Warning: AGENT_PYTHON_PATH is not defined. Skipping Python dependencies installation.
|
||||
)
|
||||
```
|
||||
Update the final step text `[4/4]` to `[5/5]` appropriately.
|
||||
</action>
|
||||
<acceptance_criteria>
|
||||
`grep "AGENT_PYTHON_PATH" bootstrap.bat` exits 0.
|
||||
`grep "pip install -r" bootstrap.bat` exits 0.
|
||||
</acceptance_criteria>
|
||||
</task>
|
||||
|
||||
<task>
|
||||
<read_first>
|
||||
- bootstrap.sh
|
||||
</read_first>
|
||||
<action>
|
||||
Add Python MCP auto-setup logic to `bootstrap.sh` right after the node dependencies step.
|
||||
Add:
|
||||
```bash
|
||||
echo "[4/5] Checking and Installing Python MCP Dependencies..."
|
||||
if [ -n "$AGENT_PYTHON_PATH" ]; then
|
||||
echo " -> Using AGENT_PYTHON_PATH: $AGENT_PYTHON_PATH"
|
||||
if [ -f ".agent/vendor/browser_use/requirements.txt" ]; then
|
||||
"$AGENT_PYTHON_PATH" -m pip install -r ".agent/vendor/browser_use/requirements.txt"
|
||||
fi
|
||||
if [ -f ".agent/services/claude-mem/requirements.txt" ]; then
|
||||
"$AGENT_PYTHON_PATH" -m pip install -r ".agent/services/claude-mem/requirements.txt"
|
||||
fi
|
||||
if [ -f ".agent/services/mini-swe/requirements.txt" ]; then
|
||||
"$AGENT_PYTHON_PATH" -m pip install -r ".agent/services/mini-swe/requirements.txt"
|
||||
fi
|
||||
else
|
||||
echo " -> Warning: AGENT_PYTHON_PATH is not defined. Skipping Python dependencies installation."
|
||||
fi
|
||||
```
|
||||
Update the final step text `[4/4]` to `[5/5]` appropriately.
|
||||
</action>
|
||||
<acceptance_criteria>
|
||||
`grep "AGENT_PYTHON_PATH" bootstrap.sh` exits 0.
|
||||
`grep "pip install -r" bootstrap.sh` exits 0.
|
||||
</acceptance_criteria>
|
||||
</task>
|
||||
Reference in New Issue
Block a user