drexler 0.1.1 → 0.2.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/CHANGELOG.md ADDED
@@ -0,0 +1,12 @@
1
+ # Changelog
2
+
3
+ ## 0.2.0
4
+
5
+ - Added premium Ink chat chrome with responsive header, transcript viewport, command palette, input, live spinner, and streaming response states.
6
+ - Added expanded theme pack: `terminal`, `dealroom`, `midnight`, `paper`, and `plasma`.
7
+ - Added persisted UI preferences through `/theme <name> save`, `/theme save`, and `/startup fast|no-intro|normal`.
8
+ - Added transcript search, markdown/text/json/html export, save-last, copy-last, expand, quote, and styled retry commands.
9
+ - Added first-run Ink setup prompt with masked API key entry and inline validation.
10
+ - Added fast startup controls via `--fast`, `--no-intro`, `DREXLER_FAST`, and `DREXLER_NO_INTRO`.
11
+ - Improved narrow-terminal handling, scrollback, grapheme-aware input editing, and live response clipping.
12
+ - Expanded tests across commands, UI components, App state helpers, themes, config, and release smoke paths.
package/README.md CHANGED
@@ -85,7 +85,9 @@ rm -rf ~/.config/drexler # optional: wipe stored key + settings
85
85
  | --------------------------------- | ----------------------------------------------------------------- |
86
86
  | `--model <31b\|26b\|vendor/name>` | switch model (alias or full OpenRouter id, e.g. `google/gemma-4-31b-it`) |
87
87
  | `--persona <path>` | load a custom persona markdown file instead of bundled `drexler.md` |
88
- | `--theme <apollo\|amber\|mono>` | color theme (default `apollo`) |
88
+ | `--theme <name>` | color theme (default `apollo`) |
89
+ | `--no-intro` | skip the startup banner and mascot |
90
+ | `--fast` | fast startup mode, implies `--no-intro` |
89
91
  | `--version`, `-v` | print version |
90
92
  | `--help`, `-h` | print usage |
91
93
 
@@ -98,9 +100,18 @@ rm -rf ~/.config/drexler # optional: wipe stored key + settings
98
100
  | `/exit` | meeting adjourned |
99
101
  | `/synergy` | SYNERGY! |
100
102
  | `/model` | show current model, or `/model 26b` to switch |
103
+ | `/theme` | show/switch theme; append `save` to persist, e.g. `/theme midnight save` |
104
+ | `/startup fast\|no-intro\|normal` | persist startup behavior for future launches |
101
105
  | `/history` | message count + approx tokens |
102
106
  | `/regenerate` | re-roll last response |
107
+ | `/retry terse\|brutal` | re-roll last response with a style mandate |
108
+ | `/expand` | print Drexler's latest response |
109
+ | `/quote` | quote Drexler's latest response |
110
+ | `/search <term>` | search the current transcript |
111
+ | `/export md\|txt\|json\|html [path]` | export transcript |
103
112
  | `/save [path]` | archive conversation as markdown |
113
+ | `/save-last [path]` | save Drexler's last response only |
114
+ | `/copy-last` | copy Drexler's latest response to the clipboard |
104
115
 
105
116
  `Ctrl+C` exits gracefully with an in-character farewell.
106
117
 
@@ -120,7 +131,9 @@ Drexler reads config in this priority (later wins):
120
131
  | -------------------- | ---------------------------------------------------- |
121
132
  | `OPENROUTER_API_KEY` | API key (overrides config file) |
122
133
  | `DREXLER_MODEL` | model id or alias |
123
- | `DREXLER_THEME` | `apollo` / `amber` / `mono` |
134
+ | `DREXLER_THEME` | color theme name |
135
+ | `DREXLER_NO_INTRO` | `1`, `true`, `yes`, or `on` skips startup intro |
136
+ | `DREXLER_FAST` | `1`, `true`, `yes`, or `on` enables fast startup |
124
137
  | `XDG_CONFIG_HOME` | override config dir (default `~/.config/drexler`) |
125
138
  | `NO_COLOR` | disable colors entirely |
126
139
 
@@ -134,12 +147,17 @@ Drexler reads config in this priority (later wins):
134
147
  "model": "google/gemma-4-31b-it",
135
148
  "maxHistory": 50,
136
149
  "personaPath": "/optional/path/to/custom-persona.md",
137
- "theme": "apollo"
150
+ "theme": "apollo",
151
+ "noIntro": false,
152
+ "fast": false
138
153
  }
139
154
  ```
140
155
 
141
156
  Default `maxHistory`: 50 messages.
142
157
 
158
+ Available launch/config themes: `apollo`, `amber`, `mono`, `terminal`, `dealroom`, `midnight`, `paper`, and `plasma`.
159
+ `NO_COLOR` always forces `mono`.
160
+
143
161
  ---
144
162
 
145
163
  ## Models
@@ -173,7 +191,7 @@ bun run typecheck
173
191
  ### Releasing a new version
174
192
 
175
193
  ```bash
176
- npm version patch # bumps package.json, commits, tags
194
+ npm version <patch|minor> # bumps package.json, commits, tags
177
195
  git push --follow-tags # CI publishes to npm automatically
178
196
  ```
179
197
 
@@ -189,7 +207,8 @@ The `.github/workflows/publish.yml` workflow runs typecheck + tests + `npm publi
189
207
  | `command not found: bun` | Install Bun (see [Install](#install) section above) |
190
208
  | `API key rejected by OpenRouter` | Update key: `rm ~/.config/drexler/config.json` and re-run `drexler`, or export `OPENROUTER_API_KEY` |
191
209
  | Garbled box-drawing characters | Use a UTF-8 terminal with a Nerd Font (e.g. iTerm2, Alacritty, WezTerm) |
192
- | Want to switch themes mid-session | `drexler --theme amber` (or `mono`) on next launch |
210
+ | Want to switch themes mid-session | Use `/theme midnight`, `/theme dealroom`, `/theme amber`, or any listed theme inside the REPL |
211
+ | Want a faster launch | Use `drexler --fast` or set `"fast": true` in config |
193
212
 
194
213
  ---
195
214
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drexler",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "CLI chat with Drexler, a corporate-executive AI persona built on OpenRouter Gemma 4 31B.",
5
5
  "license": "MIT",
6
6
  "author": "showOS",
@@ -30,6 +30,7 @@
30
30
  "src",
31
31
  "prompts",
32
32
  "README.md",
33
+ "CHANGELOG.md",
33
34
  "LICENSE"
34
35
  ],
35
36
  "preferGlobal": true,