Implement Phase 1: Foundation

- Set up TypeScript project with strict mode
- Configure tsup build system (ESM output)
- Configure vitest for testing (36 tests passing)
- Configure ESLint with flat config for TypeScript
- Implement Commander.js CLI with all 4 commands:
  - init: Configure API keys with validation
  - new: Create new Ralph Method project (stub)
  - validate: Validate PROMPT.md files
  - research: Research topics via Perplexity (stub)
- Implement config management:
  - Keys stored in ~/.ralph-generator/config.json
  - File permissions set to 600
  - Environment variables override file config
- Implement logging utility with verbosity levels
- Implement atomic file writes utility

All Phase 1 acceptance criteria met.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Debian
2026-01-10 12:08:24 +00:00
parent 688cfe57ed
commit 606f27d6bb
22 changed files with 5262 additions and 6 deletions

View File

@@ -7,18 +7,43 @@
"ralph-vibe": "./dist/index.js"
},
"scripts": {
"build": "tsup src/index.ts --format esm --dts",
"dev": "tsup src/index.ts --format esm --watch",
"build": "tsup",
"dev": "tsup --watch",
"test": "vitest run",
"test:watch": "vitest",
"lint": "eslint src --ext .ts",
"lint": "eslint src",
"typecheck": "tsc --noEmit",
"prepublishOnly": "npm run build && npm run test && npm run lint"
},
"keywords": ["cli", "ai", "claude", "vibe-coding", "ralph-method"],
"keywords": [
"cli",
"ai",
"claude",
"vibe-coding",
"ralph-method"
],
"author": "",
"license": "MIT",
"engines": {
"node": ">=20.0.0"
},
"dependencies": {
"@anthropic-ai/sdk": "^0.71.2",
"chalk": "^5.6.2",
"commander": "^14.0.2",
"inquirer": "^13.1.0",
"ora": "^9.0.0"
},
"devDependencies": {
"@eslint/js": "^9.39.2",
"@types/inquirer": "^9.0.9",
"@types/node": "^25.0.5",
"@typescript-eslint/eslint-plugin": "^8.52.0",
"@typescript-eslint/parser": "^8.52.0",
"eslint": "^9.39.2",
"tsup": "^8.5.1",
"typescript": "^5.9.3",
"typescript-eslint": "^8.52.0",
"vitest": "^4.0.16"
}
}