killeros 1.1.0 → 1.3.0

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
@@ -1,12 +1,12 @@
1
1
  # KillerOS
2
2
 
3
- A production-hardened Pi extension that combines a custom TUI, reasoning controls, interactive questions, command aliases, and concise-response guidance.
3
+ A production-hardened Pi extension that combines a custom TUI, repository initialization, long-running goals, reasoning controls, interactive questions, command aliases, and concise-response guidance.
4
4
 
5
5
  ## Requirements
6
6
 
7
7
  - Node.js `22.19.0` or later
8
8
  - Pi `0.82.1` or later
9
- - Interactive TUI mode for the custom header, editor, footer, and `question` tool
9
+ - Interactive TUI mode for the custom header, editor, footer, `question` tool, and `/init`
10
10
 
11
11
  The extension is strict TypeScript and uses only packages provided by Pi.
12
12
 
@@ -29,20 +29,22 @@ pi install git:github.com/KyrosHendrix/pi-KillerOS
29
29
  Pin an install to a release:
30
30
 
31
31
  ```bash
32
- pi install git:github.com/KyrosHendrix/pi-KillerOS@v1.1.0
32
+ pi install git:github.com/KyrosHendrix/pi-KillerOS@v1.3.0
33
33
  ```
34
34
 
35
35
  Add `-l` to either command for a project-only install. Restart Pi after installing.
36
36
 
37
37
  ## Features
38
38
 
39
- - Compact KillerOS startup card with model, directory, context, and loaded capability state
39
+ - 52-column Compact startup card with inline version, polished model/provider identity, adjacent `/model`, directory, conditional Git branch, and a shuffled session-stable tip
40
40
  - Cohesive dark theme with coral accents and neutral tool-call containers across pending, success, and error states
41
41
  - Coral Spark activity indicator with Claude-adjacent verbs that advance between agent runs and a quiet hidden-thinking label
42
42
  - Framed multiline editor with Shift+Enter support
43
- - Footer with model, reasoning, context remaining, Git branch, elapsed time, and cost
43
+ - Responsive footer with polished model/provider identity, plain-language context, and active goal state remaining; reasoning, Git branch, elapsed time, cost, and path cut down by available width
44
44
  - `/variants` selector and direct reasoning-level arguments
45
- - `question` tool with filtering, keyboard selection, custom answers, history, cancellation, and resize-safe rendering
45
+ - Codex-style `/goal` for durable long-running objectives with pause, resume, edit, clear, automatic continuation, and explicit completion
46
+ - Claude Code-style `/init` that scans the repository and generates a concise root `AGENTS.md` without setup questions
47
+ - `question` tool with filtering, proposal previews, keyboard selection, custom answers, history, cancellation, and resize-safe rendering
46
48
  - Mid-prompt slash completion with current Pi `0.82.1` commands, extensions, prompts, and skills
47
49
  - `/clear` for a confirmed new session, plus `/exit` for graceful shutdown
48
50
  - Concise system-prompt guidance without modifying completed assistant messages
@@ -50,33 +52,42 @@ Add `-l` to either command for a project-only install. Restart Pi after installi
50
52
  ## Commands
51
53
 
52
54
  ```text
55
+ /init Generate root AGENTS.md from repository evidence
56
+ /goal View the current long-running goal
57
+ /goal <objective> Set an objective and start working
58
+ /goal edit Edit and reactivate the current goal
59
+ /goal pause Stop automatic continuation
60
+ /goal resume Resume automatic continuation
61
+ /goal clear Remove the current goal
53
62
  /variants Open the reasoning-level selector
54
63
  /variants high Set a reasoning level directly
55
64
  /clear Start a new session after confirmation
56
65
  /exit Quit Pi gracefully
57
66
  ```
58
67
 
68
+ `/goal` requires a saved session in TUI or RPC mode. Goal state is stored in versioned session entries on the active branch and restored after reload, resume, fork, or tree navigation. Active goals inject their unchanged objective every turn and continue one settled turn at a time. The model must use KillerOS’s private goal tool to mark verified completion or a blocker repeated across at least three goal turns; final prose alone does not end the loop. Aborted turns, provider failures, and continuation failures pause safely. Replacing unfinished work requires confirmation, and `/goal edit` requires TUI mode.
69
+
70
+ `/init` builds a bounded project map, reads high-value manifests, documentation, and CI configuration, and lets the active model inspect additional implementation files before generating root `AGENTS.md`. Existing `AGENTS.md` and `CLAUDE.md` content is intentionally excluded so stale guidance is not inherited. The command asks no setup questions, starts no second model process, writes only `AGENTS.md`, and reloads Pi resources when finished.
71
+
59
72
  Supported reasoning levels are `off`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. KillerOS limits choices to levels supported by the current model.
60
73
 
61
74
  ## Configuration
62
75
 
63
76
  KillerOS activates its packaged `killeros` theme when a TUI session starts. Tool-call backgrounds stay neutral across pending, successful, and failed states; restrained text and icons preserve status visibility.
64
77
 
65
- KillerOS displays provider costs in USD.
78
+ KillerOS displays session costs in USD. The footer uses Pi's human-readable model name when available, keeps the provider visually secondary, and renders context as `percent left (tokens)` without a progress bar. When a goal exists, the footer adds its active time or terminal state; at narrow widths, context pressure and goal state take priority.
66
79
 
67
- Set a custom footer shortcut hint with:
80
+ For trusted projects, KillerOS loads `AGENTS.local.md` after Pi's shared repository context. A one-line `@path` or `@~/path` file imports personal guidance from another location.
68
81
 
69
- ```text
70
- PI_SHORTCUT_HINT=/variants
71
- ```
82
+ Lifecycle hooks are loaded from `.pi/killeros-hooks.json` at session start. Supported event keys are `tool_call`, `tool_result`, and `agent_settled`; matchers are JavaScript regular expressions over Pi tool names. Hook commands run from the repository root with `KILLEROS_EVENT`, `KILLEROS_TOOL`, and `KILLEROS_PAYLOAD` environment variables. Failed `tool_call` hooks block the tool, while later-event failures notify the user.
72
83
 
73
84
  ## Behavior by mode
74
85
 
75
86
  | Mode | Behavior |
76
87
  |---|---|
77
88
  | TUI | All features are available |
78
- | RPC | Commands and concise prompt guidance work; TUI components are disabled |
79
- | Print/JSON | Concise prompt guidance works; interactive questions fail explicitly |
89
+ | RPC | Goal set/view/pause/resume/clear and concise prompt guidance work; TUI components, `/goal edit`, and `/init` are disabled |
90
+ | Print/JSON | Concise prompt guidance works; interactive questions, `/goal`, and `/init` fail explicitly |
80
91
 
81
92
  ## Validation
82
93
 
@@ -107,7 +118,7 @@ git push origin main --follow-tags
107
118
 
108
119
  ## Security
109
120
 
110
- Pi extensions run with your user permissions. Review the source before installing it globally.
121
+ Pi extensions run with your user permissions. Review the source before installing it globally. KillerOS executes lifecycle hook commands only for projects Pi marks as trusted; review `.pi/killeros-hooks.json` before enabling project trust.
111
122
 
112
123
  ## License
113
124
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "killeros",
3
- "version": "1.1.0",
3
+ "version": "1.3.0",
4
4
  "description": "A production-hardened TUI and workflow extension for the Pi coding agent.",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -4,14 +4,14 @@
4
4
  "vars": {
5
5
  "coral": "#d77757",
6
6
  "coralBright": "#e58b6d",
7
- "canvas": "#090b0e",
8
- "surface": "#101419",
9
- "surfaceRaised": "#151a20",
10
- "line": "#39424b",
11
- "lineMuted": "#2b333b",
12
- "text": "#dce1e5",
13
- "muted": "#8f99a3",
14
- "dim": "#606b75",
7
+ "canvas": "#0a0a0a",
8
+ "surface": "#121212",
9
+ "surfaceRaised": "#1a1a1a",
10
+ "line": "#404040",
11
+ "lineMuted": "#2e2e2e",
12
+ "text": "#f2f2f2",
13
+ "muted": "#adadad",
14
+ "dim": "#808080",
15
15
  "success": "#8fa88b",
16
16
  "error": "#c8786c",
17
17
  "warning": "#bda36c",
@@ -78,8 +78,8 @@
78
78
  "bashMode": "warning"
79
79
  },
80
80
  "export": {
81
- "pageBg": "#090b0e",
82
- "cardBg": "#101419",
83
- "infoBg": "#151a20"
81
+ "pageBg": "#0a0a0a",
82
+ "cardBg": "#121212",
83
+ "infoBg": "#1a1a1a"
84
84
  }
85
85
  }