okiro 0.1.0 → 0.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 +88 -0
- package/package.json +2 -3
package/README.md
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# okiro
|
|
2
|
+
起きろ
|
|
3
|
+
|
|
4
|
+
Spawn ephemeral, parallel variations of your codebase, let multiple AI agents tackle the same task with different approaches, then compare and promote the best one.
|
|
5
|
+
|
|
6
|
+
## Why?
|
|
7
|
+
|
|
8
|
+
When you're unsure which approach is best: Tailwind vs custom tokens, TanStack vs lightweight fetch layer, or even different architectural patterns, you can have multiple AI agents work on isolated copies of your code simultaneously. Compare the results side-by-side, pick the winner, and merge it back.
|
|
9
|
+
|
|
10
|
+
## Install
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npm install -g okiro
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Usage
|
|
17
|
+
|
|
18
|
+
### Create variations
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
okiro 3 # Create 3 copies of your codebase
|
|
22
|
+
okiro 3 --prompt # Create 3, prompt for direction per variation
|
|
23
|
+
okiro 3 --prompt "add dark mode" # Base task + per-variation directions
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
When using `--prompt`, okiro writes instructions to `AGENTS.md` and `.cursor/rules` so AI agents in each workspace know their specific approach.
|
|
27
|
+
|
|
28
|
+
### Compare changes
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
okiro compare # Open diff viewer in browser
|
|
32
|
+
okiro diff var-1 # CLI diff: original vs var-1
|
|
33
|
+
okiro diff var-1 var-2 # CLI diff: var-1 vs var-2
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Pick a winner
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
okiro promote var-2 # Apply var-2's changes to original
|
|
40
|
+
okiro promote var-2 -c # Promote and git commit
|
|
41
|
+
okiro promote var-2 -c "feat: dark mode using Tailwind"
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Cleanup
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
okiro status # Show active variations
|
|
48
|
+
okiro cleanup # Remove all variation workspaces
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## How it works
|
|
52
|
+
|
|
53
|
+
1. **Efficient cloning** — Uses APFS clones on macOS and btrfs reflinks on Linux for instant, space-efficient copies. Falls back to rsync elsewhere.
|
|
54
|
+
|
|
55
|
+
2. **Isolated workspaces** — Each variation is a full copy at `~/.okiro/<project>/var-N/`. Open them in separate editor windows, run different agents, go wild.
|
|
56
|
+
|
|
57
|
+
3. **Smart diffing** — Only tracks meaningful changes, ignoring `node_modules`, `.git`, `dist`, etc.
|
|
58
|
+
|
|
59
|
+
4. **Non-destructive** — Your original codebase is never touched until you explicitly `promote`.
|
|
60
|
+
|
|
61
|
+
## Example workflow
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
# You want to add authentication but aren't sure about the approach
|
|
65
|
+
cd my-app
|
|
66
|
+
okiro 3 --prompt "add user authentication"
|
|
67
|
+
|
|
68
|
+
# Enter directions when prompted:
|
|
69
|
+
# var-1: use Better Auth
|
|
70
|
+
# var-2: use Clerk
|
|
71
|
+
# var-3: roll our own with JWT + cookies
|
|
72
|
+
|
|
73
|
+
# Open each variation in a separate Cursor window
|
|
74
|
+
# Let the AI agents cook...
|
|
75
|
+
|
|
76
|
+
# Compare results
|
|
77
|
+
okiro compare
|
|
78
|
+
|
|
79
|
+
# var-1 looks cleanest, promote it
|
|
80
|
+
okiro promote var-1 -c "feat: add auth via Better Auth"
|
|
81
|
+
|
|
82
|
+
# Clean up
|
|
83
|
+
okiro cleanup
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## License
|
|
87
|
+
|
|
88
|
+
MIT
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "okiro",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.1.2",
|
|
4
|
+
"description": "Spawn parallel AI coding variations, compare approaches, promote the winner",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"okiro": "./dist/index.js"
|
|
@@ -39,7 +39,6 @@
|
|
|
39
39
|
"variations",
|
|
40
40
|
"preview",
|
|
41
41
|
"diff",
|
|
42
|
-
"ephemeral",
|
|
43
42
|
"cli",
|
|
44
43
|
"claude",
|
|
45
44
|
"cursor",
|