@nklisch/pi-enhanced 0.1.7 → 0.1.8
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/CHANGELOG.md +6 -0
- package/node_modules/@nklisch/pi-clearance/native/clearance-core.win32-arm64-msvc.node +0 -0
- package/node_modules/@nklisch/pi-clearance/native/clearance-core.win32-x64-msvc.node +0 -0
- package/node_modules/@nklisch/pi-model-modes/README.md +13 -4
- package/node_modules/@nklisch/pi-model-modes/package.json +1 -1
- package/node_modules/@nklisch/pi-model-modes/presets.json +7 -0
- package/node_modules/@nklisch/pi-model-modes/prompts/base/straight.md +9 -0
- package/node_modules/@nklisch/pi-model-modes/prompts/base.json +6 -1
- package/node_modules/@nklisch/pi-model-modes/prompts/styles/straight.md +9 -0
- package/node_modules/@nklisch/pi-model-modes/src/footer.ts +3 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
Binary file
|
|
Binary file
|
|
@@ -120,8 +120,9 @@ session start; command-time writes validate before touching disk.
|
|
|
120
120
|
### Writing styles
|
|
121
121
|
|
|
122
122
|
An optional writing style controls conversational communication independently
|
|
123
|
-
of the active mode. Bundled styles are `clear`, `compact`, `explanatory`,
|
|
124
|
-
`expressive`.
|
|
123
|
+
of the active mode. Bundled styles are `clear`, `compact`, `explanatory`,
|
|
124
|
+
`expressive`, and `straight`. `straight` leads with direct technical judgment,
|
|
125
|
+
removes sugarcoating and false balance, and keeps explanations self-contained.
|
|
125
126
|
|
|
126
127
|
| Command | Effect |
|
|
127
128
|
|---|---|
|
|
@@ -143,8 +144,13 @@ For example:
|
|
|
143
144
|
/style none # temporarily mask either default
|
|
144
145
|
/style off # reveal the configured default
|
|
145
146
|
/style default off # clear project default; reveal global
|
|
147
|
+
/mode straight # direct premise-checking behavior
|
|
148
|
+
/style straight # direct, self-contained prose
|
|
146
149
|
```
|
|
147
150
|
|
|
151
|
+
The `straight` mode and style are independent. Use either one alone, or select
|
|
152
|
+
both when you want the behavioral base and the writing posture together.
|
|
153
|
+
|
|
148
154
|
The same durable selection can be edited directly in config:
|
|
149
155
|
|
|
150
156
|
```json
|
|
@@ -182,7 +188,7 @@ take effect immediately.
|
|
|
182
188
|
**Base** voice (default `pi` = no overlay, identity only):
|
|
183
189
|
|
|
184
190
|
- `pi` — no voice overlay
|
|
185
|
-
- `chill`, `flow`, `pi-direct` — overlay voices (`prompts/base/*.md`)
|
|
191
|
+
- `chill`, `flow`, `pi-direct`, `straight` — overlay voices (`prompts/base/*.md`)
|
|
186
192
|
|
|
187
193
|
**Agency** — `autonomous` · `collaborative` · `surgical` · `partner`
|
|
188
194
|
|
|
@@ -211,13 +217,16 @@ take effect immediately.
|
|
|
211
217
|
| `flow` | flow | autonomous | architect | adjacent | flow |
|
|
212
218
|
| `tinker` | flow | autonomous | pragmatic | unrestricted | flow, playful |
|
|
213
219
|
| `spark` | chill | autonomous | architect | unrestricted | muse, playful |
|
|
220
|
+
| `straight` | straight | autonomous | pragmatic | adjacent | — |
|
|
214
221
|
| `none` | — | — | — | — | virtual no-mode override |
|
|
215
222
|
|
|
216
223
|
Preset definitions live in [`presets.json`](presets.json), except `none`, which
|
|
217
224
|
is virtual and injects no mode fragments. The fragment text lives in
|
|
218
225
|
[`prompts/`](prompts) (`base/`, `axis/{agency,quality,scope}/`, `modifiers/`).
|
|
219
226
|
Fragment files are cached by mtime, so editing one takes effect on the next turn
|
|
220
|
-
— no `/reload` needed.
|
|
227
|
+
— no `/reload` needed. The `straight` base was adapted from the intent of
|
|
228
|
+
`claude-code-modes`: correctness over agreement, explicit premise checking, and
|
|
229
|
+
direct criticism of the work without turning abrasiveness into a persona.
|
|
221
230
|
|
|
222
231
|
## How it works
|
|
223
232
|
|
|
@@ -76,6 +76,13 @@
|
|
|
76
76
|
"scope": "adjacent",
|
|
77
77
|
"modifiers": ["flow"]
|
|
78
78
|
},
|
|
79
|
+
"straight": {
|
|
80
|
+
"base": "straight",
|
|
81
|
+
"agency": "autonomous",
|
|
82
|
+
"quality": "pragmatic",
|
|
83
|
+
"scope": "adjacent",
|
|
84
|
+
"modifiers": []
|
|
85
|
+
},
|
|
79
86
|
"tinker": {
|
|
80
87
|
"base": "flow",
|
|
81
88
|
"agency": "autonomous",
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Straight base
|
|
2
|
+
|
|
3
|
+
Optimize for the correct result, not agreement with the user's premise.
|
|
4
|
+
|
|
5
|
+
Check requests against the available evidence and the actual system. If a premise is wrong, say so and correct it. If an approach is unsafe, wasteful, unnecessary, contradictory, or unlikely to work, name the problem and recommend the better option. Do not invent work or present weak alternatives as equally sound.
|
|
6
|
+
|
|
7
|
+
Do not manufacture disagreement. Agree when the evidence supports agreement, and distinguish verified facts from inference and judgment.
|
|
8
|
+
|
|
9
|
+
Be direct about the work without being hostile to the person. Correctness and safety outrank conversational smoothness; explicit user intent still controls choices that are genuinely matters of preference.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Straight
|
|
2
|
+
|
|
3
|
+
Write in plain, self-contained technical English.
|
|
4
|
+
|
|
5
|
+
Lead with the answer or judgment, then give the useful reason. Use literal and specific language. Avoid filler, ceremony, praise padding, rhetorical questions, false balance, euphemisms, and cute technical metaphors.
|
|
6
|
+
|
|
7
|
+
Do not sugarcoat technical conclusions. Say when something is broken, weak, unsafe, unnecessary, or overengineered, and explain the concrete reason. Criticize the idea, decision, or implementation—not the person. Do not manufacture disagreement merely to sound independent.
|
|
8
|
+
|
|
9
|
+
Separate verified facts from inference and opinion. The user does not see every tool call, file, or intermediate result, so make the response stand on its own: name the relevant behavior, explain repository-specific terms before relying on them, and do not refer to private shorthand as shared context.
|
|
@@ -20,8 +20,8 @@ export const MODE_FOOTER_KEY = "pi-model-modes";
|
|
|
20
20
|
* Leading marker glyph per base voice. Echoes pi-catppuccin-tui's ◆ vocabulary
|
|
21
21
|
* so the mode footer reads as part of the same family as the model/git/context
|
|
22
22
|
* line rather than a foreign symbol. Glyph choice tracks voice *character*:
|
|
23
|
-
* solid for
|
|
24
|
-
*
|
|
23
|
+
* solid for direct voices (`pi`, `pi-direct`, and `straight`), outline for
|
|
24
|
+
* `chill`'s softer voice, and hex for `flow`'s distinct character.
|
|
25
25
|
*
|
|
26
26
|
* The raw glyphs stay plain Unicode for stable tests and fallback renderers;
|
|
27
27
|
* the pi seam applies theme-aware color so Catppuccin footers inherit the
|
|
@@ -30,6 +30,7 @@ export const MODE_FOOTER_KEY = "pi-model-modes";
|
|
|
30
30
|
const BASE_VOICE_GLYPHS: Readonly<Record<string, string>> = {
|
|
31
31
|
pi: "◆",
|
|
32
32
|
"pi-direct": "◆",
|
|
33
|
+
straight: "◆",
|
|
33
34
|
chill: "◇",
|
|
34
35
|
flow: "⬡",
|
|
35
36
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nklisch/pi-enhanced",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.8",
|
|
4
4
|
"description": "Pi, enhanced — one install for nklisch's full harness: policy-gated command review, plugin marketplace, subagents, background tasks, research tools, search, model modes, and a curated UX set.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "nklisch"
|