ralphie 1.1.0 → 1.1.2
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 +2 -2
- package/dist/cli.js +4 -3
- package/package.json +1 -1
- package/templates/RALPHIE.md +6 -2
- package/templates/.ai/ralphie/.gitkeep +0 -0
- package/templates/.claude/settings.json.example +0 -25
- package/templates/specs/templates/bugfix.md +0 -66
- package/templates/specs/templates/feature.md +0 -56
- package/templates/specs/templates/refactor.md +0 -80
package/README.md
CHANGED
|
@@ -38,7 +38,7 @@ npm install -g @openai/codex && export OPENAI_API_KEY=sk-...
|
|
|
38
38
|
npm install -g opencode-ai && opencode auth login
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
-
**3. Install Ralphie skills** (
|
|
41
|
+
**3. Install Ralphie skills** via [add-skill](https://github.com/vercel-labs/add-skill)
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
44
|
npx add-skill skylarbarrera/ralphie
|
|
@@ -88,7 +88,7 @@ Each iteration:
|
|
|
88
88
|
|
|
89
89
|
Use `--harness codex` or `--harness opencode` to switch AI providers. See [CLI Reference](docs/cli.md) for all options.
|
|
90
90
|
|
|
91
|
-
### Skills (
|
|
91
|
+
### Skills (via [add-skill](https://github.com/vercel-labs/add-skill))
|
|
92
92
|
|
|
93
93
|
| Skill | Description |
|
|
94
94
|
|-------|-------------|
|
package/dist/cli.js
CHANGED
|
@@ -32,7 +32,7 @@ import { fileURLToPath } from "url";
|
|
|
32
32
|
var __filename2 = fileURLToPath(import.meta.url);
|
|
33
33
|
var __dirname2 = dirname(__filename2);
|
|
34
34
|
function getTemplatesDir() {
|
|
35
|
-
return join(__dirname2, "..", "
|
|
35
|
+
return join(__dirname2, "..", "templates");
|
|
36
36
|
}
|
|
37
37
|
function copyRecursive(src, dest, created, skipped) {
|
|
38
38
|
const entries = readdirSync(src);
|
|
@@ -3432,8 +3432,9 @@ Skipped (already exist):`);
|
|
|
3432
3432
|
}
|
|
3433
3433
|
console.log(`
|
|
3434
3434
|
Ralphie initialized! Next steps:`);
|
|
3435
|
-
console.log(" 1.
|
|
3436
|
-
console.log(
|
|
3435
|
+
console.log(" 1. Install skills: npx add-skill skylarbarrera/ralphie");
|
|
3436
|
+
console.log(' 2. Create a spec: /ralphie-spec "your project idea"');
|
|
3437
|
+
console.log(" 3. Run: ralphie run --all");
|
|
3437
3438
|
} catch (error) {
|
|
3438
3439
|
console.error("Error:", error instanceof Error ? error.message : error);
|
|
3439
3440
|
process.exit(1);
|
package/package.json
CHANGED
package/templates/RALPHIE.md
CHANGED
|
@@ -4,8 +4,12 @@ Ralphie is an autonomous AI coding loop. You write a spec, Ralphie works through
|
|
|
4
4
|
|
|
5
5
|
## Quick Start
|
|
6
6
|
|
|
7
|
-
1. **
|
|
8
|
-
|
|
7
|
+
1. **Install skills** using [add-skill](https://github.com/vercel-labs/add-skill):
|
|
8
|
+
```bash
|
|
9
|
+
npx add-skill skylarbarrera/ralphie
|
|
10
|
+
```
|
|
11
|
+
2. **Create a spec** in `specs/active/` or run `/ralphie-spec "description"`
|
|
12
|
+
3. **Run Ralphie**: `ralphie run --all`
|
|
9
13
|
|
|
10
14
|
## Project Structure
|
|
11
15
|
|
|
File without changes
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://raw.githubusercontent.com/anthropics/claude-code/main/schemas/settings.json",
|
|
3
|
-
"hooks": {
|
|
4
|
-
"Stop": [
|
|
5
|
-
{
|
|
6
|
-
"type": "prompt",
|
|
7
|
-
"promptFile": "scripts/validate-iteration.md",
|
|
8
|
-
"description": "Validate Ralphie iteration completion before allowing next iteration"
|
|
9
|
-
}
|
|
10
|
-
]
|
|
11
|
-
},
|
|
12
|
-
"permissions": {
|
|
13
|
-
"allow": [
|
|
14
|
-
"Bash(npm test:*)",
|
|
15
|
-
"Bash(npm run type-check:*)",
|
|
16
|
-
"Bash(npx vitest:*)",
|
|
17
|
-
"Bash(git add:*)",
|
|
18
|
-
"Bash(git commit:*)",
|
|
19
|
-
"Bash(git status:*)",
|
|
20
|
-
"Bash(git diff:*)",
|
|
21
|
-
"Bash(git log:*)"
|
|
22
|
-
],
|
|
23
|
-
"deny": []
|
|
24
|
-
}
|
|
25
|
-
}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
# Bug Fix: Issue Title
|
|
2
|
-
|
|
3
|
-
Goal: Fix the bug where [describe the incorrect behavior].
|
|
4
|
-
|
|
5
|
-
## Context
|
|
6
|
-
|
|
7
|
-
**Observed behavior:** What's happening now (the bug)
|
|
8
|
-
**Expected behavior:** What should happen instead
|
|
9
|
-
**Reproduction steps:** How to trigger the bug
|
|
10
|
-
**Affected areas:** Which parts of the system are impacted
|
|
11
|
-
|
|
12
|
-
## Tasks
|
|
13
|
-
|
|
14
|
-
### T001: Investigate root cause
|
|
15
|
-
- Status: pending
|
|
16
|
-
- Size: S
|
|
17
|
-
|
|
18
|
-
**Deliverables:**
|
|
19
|
-
- Identify the source of the bug
|
|
20
|
-
- Document findings in Notes section
|
|
21
|
-
- Determine fix approach
|
|
22
|
-
|
|
23
|
-
**Verify:** Root cause documented below
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
### T002: Implement fix
|
|
28
|
-
- Status: pending
|
|
29
|
-
- Size: M
|
|
30
|
-
|
|
31
|
-
**Deliverables:**
|
|
32
|
-
- Code change that fixes the bug
|
|
33
|
-
- No regressions in existing functionality
|
|
34
|
-
- Follows existing code patterns
|
|
35
|
-
|
|
36
|
-
**Verify:** `npm test` passes
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
### T003: Add regression test
|
|
41
|
-
- Status: pending
|
|
42
|
-
- Size: S
|
|
43
|
-
|
|
44
|
-
**Deliverables:**
|
|
45
|
-
- Test that fails without the fix
|
|
46
|
-
- Test that passes with the fix
|
|
47
|
-
- Test covers edge cases if applicable
|
|
48
|
-
|
|
49
|
-
**Verify:** `npm test -- bug-name` passes
|
|
50
|
-
|
|
51
|
-
---
|
|
52
|
-
|
|
53
|
-
## Acceptance Criteria
|
|
54
|
-
|
|
55
|
-
- WHEN reproducing the original bug steps, THEN correct behavior occurs
|
|
56
|
-
- WHEN running test suite, THEN all tests pass including new regression test
|
|
57
|
-
|
|
58
|
-
## Notes
|
|
59
|
-
|
|
60
|
-
<!-- AI updates this section during implementation -->
|
|
61
|
-
|
|
62
|
-
### Investigation Findings
|
|
63
|
-
<!-- Document root cause here -->
|
|
64
|
-
|
|
65
|
-
### Fix Approach
|
|
66
|
-
<!-- Document chosen solution here -->
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
# Feature Name
|
|
2
|
-
|
|
3
|
-
Goal: One-sentence description of what this feature accomplishes.
|
|
4
|
-
|
|
5
|
-
## Context
|
|
6
|
-
|
|
7
|
-
Background information for the agent implementing this spec:
|
|
8
|
-
- What problem does this solve?
|
|
9
|
-
- What existing code/patterns should it follow?
|
|
10
|
-
- Any constraints or requirements?
|
|
11
|
-
|
|
12
|
-
## Tasks
|
|
13
|
-
|
|
14
|
-
### T001: First task title
|
|
15
|
-
- Status: pending
|
|
16
|
-
- Size: S
|
|
17
|
-
|
|
18
|
-
**Deliverables:**
|
|
19
|
-
- What to build (WHAT, not HOW)
|
|
20
|
-
- Another deliverable
|
|
21
|
-
|
|
22
|
-
**Verify:** `npm test -- something`
|
|
23
|
-
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
### T002: Second task title
|
|
27
|
-
- Status: pending
|
|
28
|
-
- Size: M
|
|
29
|
-
|
|
30
|
-
**Deliverables:**
|
|
31
|
-
- Deliverable description
|
|
32
|
-
- Another deliverable
|
|
33
|
-
|
|
34
|
-
**Verify:** `curl localhost:3000/api` returns 200
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
### T003: Third task title
|
|
39
|
-
- Status: pending
|
|
40
|
-
- Size: S
|
|
41
|
-
|
|
42
|
-
**Deliverables:**
|
|
43
|
-
- Deliverable description
|
|
44
|
-
|
|
45
|
-
**Verify:** `npm run type-check` passes
|
|
46
|
-
|
|
47
|
-
---
|
|
48
|
-
|
|
49
|
-
## Acceptance Criteria
|
|
50
|
-
|
|
51
|
-
- WHEN user does X, THEN Y happens
|
|
52
|
-
- WHEN condition Z, THEN expected outcome
|
|
53
|
-
|
|
54
|
-
## Notes
|
|
55
|
-
|
|
56
|
-
<!-- AI updates this section during implementation -->
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
# Refactor: Component/Module Name
|
|
2
|
-
|
|
3
|
-
Goal: Improve code quality of [target] without changing external behavior.
|
|
4
|
-
|
|
5
|
-
## Context
|
|
6
|
-
|
|
7
|
-
**Why refactor:** What's wrong with the current code?
|
|
8
|
-
**Target scope:** Which files/modules are being refactored
|
|
9
|
-
**Constraints:** What must remain unchanged (APIs, behavior, etc.)
|
|
10
|
-
|
|
11
|
-
## Tasks
|
|
12
|
-
|
|
13
|
-
### T001: Audit current implementation
|
|
14
|
-
- Status: pending
|
|
15
|
-
- Size: S
|
|
16
|
-
|
|
17
|
-
**Deliverables:**
|
|
18
|
-
- Document current code structure
|
|
19
|
-
- Identify specific issues to address
|
|
20
|
-
- List files to modify
|
|
21
|
-
|
|
22
|
-
**Verify:** Audit documented in Notes section
|
|
23
|
-
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
### T002: Refactor core logic
|
|
27
|
-
- Status: pending
|
|
28
|
-
- Size: M
|
|
29
|
-
|
|
30
|
-
**Deliverables:**
|
|
31
|
-
- Improved code structure
|
|
32
|
-
- Better naming/organization
|
|
33
|
-
- Reduced complexity or duplication
|
|
34
|
-
- No behavior changes
|
|
35
|
-
|
|
36
|
-
**Verify:** `npm test` passes with same coverage
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
### T003: Update related code
|
|
41
|
-
- Status: pending
|
|
42
|
-
- Size: S
|
|
43
|
-
|
|
44
|
-
**Deliverables:**
|
|
45
|
-
- Update callers if signatures changed
|
|
46
|
-
- Update imports if files moved
|
|
47
|
-
- Update types if interfaces changed
|
|
48
|
-
|
|
49
|
-
**Verify:** `npm run type-check` passes
|
|
50
|
-
|
|
51
|
-
---
|
|
52
|
-
|
|
53
|
-
### T004: Verify no regressions
|
|
54
|
-
- Status: pending
|
|
55
|
-
- Size: S
|
|
56
|
-
|
|
57
|
-
**Deliverables:**
|
|
58
|
-
- All existing tests pass
|
|
59
|
-
- Manual verification of key flows
|
|
60
|
-
- Performance not degraded
|
|
61
|
-
|
|
62
|
-
**Verify:** `npm test && npm run type-check` passes
|
|
63
|
-
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
## Acceptance Criteria
|
|
67
|
-
|
|
68
|
-
- WHEN running test suite, THEN all tests pass
|
|
69
|
-
- WHEN comparing before/after behavior, THEN external behavior unchanged
|
|
70
|
-
- WHEN reviewing code, THEN identified issues are resolved
|
|
71
|
-
|
|
72
|
-
## Notes
|
|
73
|
-
|
|
74
|
-
<!-- AI updates this section during implementation -->
|
|
75
|
-
|
|
76
|
-
### Current Issues
|
|
77
|
-
<!-- List specific code smells/issues -->
|
|
78
|
-
|
|
79
|
-
### Refactoring Approach
|
|
80
|
-
<!-- Document strategy -->
|