peakypanes 0.0.26 → 0.0.28
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
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
**Multi-project orchestration in a single TUI for AI agents and dev environments.**
|
|
10
10
|
|
|
11
11
|
[](https://www.npmjs.com/package/peakypanes)
|
|
12
|
-
[](https://github.com/regenrek/homebrew-tap)
|
|
13
13
|
[](https://deepwiki.com/regenrek/peakypanes)
|
|
14
14
|
[](https://pkg.go.dev/github.com/regenrek/peakypanes)
|
|
15
15
|
|
|
@@ -34,7 +34,7 @@ window layouts and better-organized projects.
|
|
|
34
34
|
- 🗂️ **Multi-project dashboard** - See every project/session in one TUI without switching windows
|
|
35
35
|
- 📦 **Built-in layouts** - Works out of the box with sensible defaults
|
|
36
36
|
- 🧩 **Exact grids** - Use `grid: 2x3` for consistent rows/columns
|
|
37
|
-
- 📁 **Project-local config** - Commit `.
|
|
37
|
+
- 📁 **Project-local config** - Commit `.peky.yml` to git for team sharing
|
|
38
38
|
- 🏠 **Global config** - Define layouts once, use everywhere
|
|
39
39
|
- 🔄 **Variable expansion** - Use `${EDITOR}`, `${PROJECT_PATH}`, etc.
|
|
40
40
|
- 🎯 **Zero config** - Just run `peky` in any directory
|
|
@@ -65,8 +65,8 @@ npx -y -p peakypanes peky
|
|
|
65
65
|
|
|
66
66
|
```bash
|
|
67
67
|
brew tap regenrek/tap
|
|
68
|
-
brew install regenrek/tap/
|
|
69
|
-
brew services start
|
|
68
|
+
brew install regenrek/tap/peky
|
|
69
|
+
brew services start peky
|
|
70
70
|
peky
|
|
71
71
|
```
|
|
72
72
|
|
|
@@ -89,8 +89,8 @@ peky start
|
|
|
89
89
|
```bash
|
|
90
90
|
cd your-project
|
|
91
91
|
peky init --local
|
|
92
|
-
# Edit .
|
|
93
|
-
git add .
|
|
92
|
+
# Edit .peky.yml
|
|
93
|
+
git add .peky.yml # Share with team
|
|
94
94
|
```
|
|
95
95
|
|
|
96
96
|
The CLI is `peky`.
|
|
@@ -108,7 +108,7 @@ The CLI is `peky`.
|
|
|
108
108
|
|
|
109
109
|
## Configuration (quick look)
|
|
110
110
|
|
|
111
|
-
Project-local config lives in `.
|
|
111
|
+
Project-local config lives in `.peky.yml`, and global config lives in `~/.config/peky/config.yml`.
|
|
112
112
|
See the full schema, built-in layouts, and variable expansion in [docs/configuration.md](docs/configuration.md).
|
|
113
113
|
|
|
114
114
|
```yaml
|
|
@@ -151,7 +151,7 @@ See `RELEASE-DOCS.md` for the full release checklist (tests, tag, GoReleaser, np
|
|
|
151
151
|
## For Teams
|
|
152
152
|
|
|
153
153
|
1. Run `peky init --local` in your project
|
|
154
|
-
2. Customize `.
|
|
154
|
+
2. Customize `.peky.yml` for your stack
|
|
155
155
|
3. Commit to git
|
|
156
156
|
4. Teammates install peakypanes and run `peky` - done!
|
|
157
157
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "peakypanes",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.28",
|
|
4
4
|
"description": "Tmux layout manager with YAML based configuration.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://github.com/regenrek/peakypanes",
|
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
"peky": "bin/peky.js"
|
|
13
13
|
},
|
|
14
14
|
"optionalDependencies": {
|
|
15
|
-
"peakypanes-darwin-x64": "0.0.
|
|
16
|
-
"peakypanes-darwin-arm64": "0.0.
|
|
17
|
-
"peakypanes-linux-x64": "0.0.
|
|
18
|
-
"peakypanes-linux-arm64": "0.0.
|
|
15
|
+
"peakypanes-darwin-x64": "0.0.28",
|
|
16
|
+
"peakypanes-darwin-arm64": "0.0.28",
|
|
17
|
+
"peakypanes-linux-x64": "0.0.28",
|
|
18
|
+
"peakypanes-linux-arm64": "0.0.28"
|
|
19
19
|
},
|
|
20
20
|
"engines": {
|
|
21
21
|
"node": ">=18"
|
|
@@ -7,11 +7,11 @@ from pathlib import Path
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
def state_dir() -> Path:
|
|
10
|
-
root = os.environ.get("
|
|
10
|
+
root = os.environ.get("PEKY_AGENT_STATE_DIR")
|
|
11
11
|
if root:
|
|
12
12
|
return Path(root)
|
|
13
13
|
runtime = os.environ.get("XDG_RUNTIME_DIR") or "/tmp"
|
|
14
|
-
return Path(runtime) / "
|
|
14
|
+
return Path(runtime) / "peky" / "agent-state"
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
def write_state(pane_id: str, state: str, tool: str, payload: dict) -> None:
|
|
@@ -70,7 +70,7 @@ def map_event_to_state(event: str, payload: dict) -> str:
|
|
|
70
70
|
|
|
71
71
|
|
|
72
72
|
def main() -> int:
|
|
73
|
-
pane_id = os.environ.get("
|
|
73
|
+
pane_id = os.environ.get("PEKY_PANE_ID", "").strip()
|
|
74
74
|
if not pane_id:
|
|
75
75
|
return 0
|
|
76
76
|
try:
|
|
@@ -7,11 +7,11 @@ from pathlib import Path
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
def state_dir() -> Path:
|
|
10
|
-
root = os.environ.get("
|
|
10
|
+
root = os.environ.get("PEKY_AGENT_STATE_DIR")
|
|
11
11
|
if root:
|
|
12
12
|
return Path(root)
|
|
13
13
|
runtime = os.environ.get("XDG_RUNTIME_DIR") or "/tmp"
|
|
14
|
-
return Path(runtime) / "
|
|
14
|
+
return Path(runtime) / "peky" / "agent-state"
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
def write_state(pane_id: str, state: str, tool: str, payload: dict) -> None:
|
|
@@ -36,7 +36,7 @@ def write_state(pane_id: str, state: str, tool: str, payload: dict) -> None:
|
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
def main() -> int:
|
|
39
|
-
pane_id = os.environ.get("
|
|
39
|
+
pane_id = os.environ.get("PEKY_PANE_ID", "").strip()
|
|
40
40
|
if not pane_id:
|
|
41
41
|
return 0
|
|
42
42
|
if len(sys.argv) < 2:
|