whale-igniter 1.3.7 → 1.4.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 +25 -0
- package/README.md +22 -0
- package/dist/selene/cache.js +11 -0
- package/dist/ui/splash.js +1 -1
- package/dist/version.js +1 -1
- package/docs/ROADMAP.md +2 -2
- package/package.json +2 -1
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to Whale Igniter are documented here.
|
|
4
|
+
|
|
5
|
+
## 1.4.0 - 2026-06-03
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Local UI theme engine for generated landing pages, with Atlas, Harbor, and Aurora themes.
|
|
10
|
+
- `whale themes list` for browsing shipped themes.
|
|
11
|
+
- Capability-gated `whale ignite` splash with color, Unicode, and plain fallbacks.
|
|
12
|
+
- README Data & privacy section, generated-output ownership note, and font attribution.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- Generated landing CSS now emits theme-driven custom properties for color, typography, structure, interaction, and motion.
|
|
17
|
+
- Selene response cache writes now ensure `.whale/` is ignored in the target project's `.gitignore`.
|
|
18
|
+
- Reworded older brand-planning docs to avoid vague status language.
|
|
19
|
+
|
|
20
|
+
### Verified
|
|
21
|
+
|
|
22
|
+
- Selene API keys are read from environment variables and used only in provider request headers.
|
|
23
|
+
- Selene cache stores response text under `.whale/selene/cache`; it does not store API keys.
|
|
24
|
+
- No font binaries are shipped.
|
|
25
|
+
- No telemetry or analytics code is present.
|
package/README.md
CHANGED
|
@@ -43,6 +43,8 @@ my-app/
|
|
|
43
43
|
|
|
44
44
|
The agent doesn't guess anymore. It reads.
|
|
45
45
|
|
|
46
|
+
Generated output belongs to you. Files created by Whale Igniter, including generated HTML, CSS, CLAUDE.md, AGENTS.md, wiki pages, and copied theme files, are yours to use and modify; they are not restricted by this project's MIT license.
|
|
47
|
+
|
|
46
48
|
---
|
|
47
49
|
|
|
48
50
|
## What agents can read — and write
|
|
@@ -148,6 +150,20 @@ whale selene describe src/components/Button.tsx
|
|
|
148
150
|
|
|
149
151
|
---
|
|
150
152
|
|
|
153
|
+
## Data & privacy
|
|
154
|
+
|
|
155
|
+
Whale Igniter runs offline by default. Core flows such as themes, drift detection, wiki generation, MCP, and local project analysis do not require an API key and do not send project data over the network.
|
|
156
|
+
|
|
157
|
+
AI features are opt-in. When you enable Selene API mode, Whale sends the prompt and project context to the selected provider, Anthropic or OpenAI, under that provider's terms. You are responsible for reviewing context before sending it and for keeping secrets or sensitive data out of prompts.
|
|
158
|
+
|
|
159
|
+
API keys are read from environment variables only: `ANTHROPIC_API_KEY` or `OPENAI_API_KEY`. The key is used only in request headers, and Whale does not log it, write it to config, or persist it on disk.
|
|
160
|
+
|
|
161
|
+
Selene's local cache stores response text under `.whale/selene/cache` in the target project. It does not store API keys. Whale also ensures `.whale/` is ignored by the target project's `.gitignore` when writing Selene cache entries.
|
|
162
|
+
|
|
163
|
+
Whale Igniter has no telemetry or analytics.
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
151
167
|
## Requirements
|
|
152
168
|
|
|
153
169
|
- Node ≥ 20
|
|
@@ -155,6 +171,12 @@ whale selene describe src/components/Button.tsx
|
|
|
155
171
|
|
|
156
172
|
---
|
|
157
173
|
|
|
174
|
+
## Credits
|
|
175
|
+
|
|
176
|
+
Brand assets reference JetBrains Mono (SIL Open Font License 1.1) and Special Elite (Apache License 2.0). No font binaries are shipped.
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
158
180
|
## Links
|
|
159
181
|
|
|
160
182
|
- Roadmap: [`docs/ROADMAP.md`](docs/ROADMAP.md)
|
package/dist/selene/cache.js
CHANGED
|
@@ -44,6 +44,7 @@ export async function writeCache(target, model, prompt, text) {
|
|
|
44
44
|
const key = cacheKey(model, prompt);
|
|
45
45
|
const dir = path.join(target, CACHE_DIR_REL);
|
|
46
46
|
await fs.ensureDir(dir);
|
|
47
|
+
await ensureWhaleGitignore(target);
|
|
47
48
|
const entry = {
|
|
48
49
|
key,
|
|
49
50
|
model,
|
|
@@ -66,3 +67,13 @@ export async function clearCache(target) {
|
|
|
66
67
|
}
|
|
67
68
|
return removed;
|
|
68
69
|
}
|
|
70
|
+
async function ensureWhaleGitignore(target) {
|
|
71
|
+
const gitignore = path.join(target, ".gitignore");
|
|
72
|
+
const entry = ".whale/";
|
|
73
|
+
const existing = (await fs.pathExists(gitignore)) ? await fs.readFile(gitignore, "utf8") : "";
|
|
74
|
+
const lines = existing.split(/\r?\n/).map((line) => line.trim());
|
|
75
|
+
if (lines.includes(entry))
|
|
76
|
+
return;
|
|
77
|
+
const prefix = existing.length > 0 && !existing.endsWith("\n") ? "\n" : "";
|
|
78
|
+
await fs.appendFile(gitignore, `${prefix}${entry}\n`, "utf8");
|
|
79
|
+
}
|
package/dist/ui/splash.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* 2. Unicode, no color — same layout, no color
|
|
7
7
|
* 3. Plain — single ASCII line, no glyphs
|
|
8
8
|
*
|
|
9
|
-
* Rules: no chalk imports, no direct env var reads, no
|
|
9
|
+
* Rules: no chalk imports, no direct env var reads, no vague status copy.
|
|
10
10
|
* Uses `capabilities()` from capabilities.js and `ui` atoms.
|
|
11
11
|
*/
|
|
12
12
|
import { capabilities } from "./capabilities.js";
|
package/dist/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const PACKAGE_VERSION = "1.
|
|
1
|
+
export const PACKAGE_VERSION = "1.4.0";
|
package/docs/ROADMAP.md
CHANGED
|
@@ -85,7 +85,7 @@ reveals that the next plan needs revising, we revise it before shipping.
|
|
|
85
85
|
- **Test coverage.** 44 unit tests + MCP smoke test that spawns the
|
|
86
86
|
server and exercises real protocol calls end-to-end.
|
|
87
87
|
|
|
88
|
-
### v1.1 —
|
|
88
|
+
### v1.1 — Polished runtime UI
|
|
89
89
|
|
|
90
90
|
The terminal output became the product surface. Commands stopped reaching
|
|
91
91
|
for chalk directly; every command now consumes a semantic UI layer where
|
|
@@ -96,7 +96,7 @@ pair) and the active theme decides what each intent looks like.
|
|
|
96
96
|
with ASCII fallbacks), blocks (header, section, kv, panel, summary,
|
|
97
97
|
next, ok/fail/warn/note), theme dispatcher. Commands import from `ui/`
|
|
98
98
|
rather than chalk; chalk is now confined to the theme module.
|
|
99
|
-
- **Single
|
|
99
|
+
- **Single polished theme — graphite.** Cyan accent, charcoal grays, three
|
|
100
100
|
text-hierarchy levels. Structure ready for v1.2's multi-theme without
|
|
101
101
|
touching any command.
|
|
102
102
|
- **Capability detection.** Auto-detects color and Unicode support; falls
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "whale-igniter",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "CLI-first operational intelligence. Bootstraps and adopts AI-readable project context so agents like Claude Code, Codex and Cursor understand your design system from the first commit. Includes an MCP server, a file watcher, deterministic insights, and an opt-in AI bridge (Selene).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
"themes",
|
|
15
15
|
"ui-references",
|
|
16
16
|
"README.md",
|
|
17
|
+
"CHANGELOG.md",
|
|
17
18
|
"LICENSE",
|
|
18
19
|
"docs/ROADMAP.md"
|
|
19
20
|
],
|