You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* feat(brand): rebrand user-facing surfaces to Coven; add direct-invocation engine notice
Renames the ~17 user-facing "Coven Code" strings (system prompt identity, TUI
welcome/title/dialogs, User-Agent, help text, npm description) to the unified
"Coven" brand. Adds a dim one-line notice when coven-code is run directly in an
interactive TTY without COVEN_PARENT, pointing users at the unified `coven` CLI.
Binary name, crate names, env vars, and internal paths are unchanged.
* feat(brand): complete user-facing Coven Code -> Coven sweep (commands, tips, dialogs, oauth, acp)
* docs: add Phase 5 brand-sweep plan
* test(tui): track renamed boot banner 'Coven v' in interactive suite
> Phase 5 sub-plan of the coven CLI unification. Curated, recon-grounded. Only USER-FACING surfaces change; the binary name (`coven-code`/`coven-cave`), `claurst-*` crates, `COVEN_CODE_*` env vars, `.coven-code` internal paths, and repo URLs STAY (per COVEN.md).
4
+
5
+
**Goal:** users see the unified "Coven" brand; nobody is told to install/use "coven-code" separately; `coven --version` surfaces the whole stack.
6
+
7
+
## Decisions (defaults — vetoable in review)
8
+
- npm package NAME stays `@opencoven/coven-code` (only description changes; it is DEPRECATED in 5.6, not renamed — renaming a published package is disruptive and breaks the engine install/release flow).
9
+
- Assistant identity → "You are Coven, an open-source agentic coding assistant by OpenCoven (based on Claurst, GPL-3.0)." (keep the credit).
10
+
- User-Agent `CovenCode/x.y` → `Coven/x.y`.
11
+
- Direct-invocation notice (dim, stderr): `coven-code is the Coven engine — the supported CLI is 'coven' (npm i -g @opencoven/cli)`.
12
+
13
+
## Already done (verified — no-op tasks)
14
+
-**Theme (5.4):**`crates/tui/src/theme_colors.rs default_theme()` is ALREADY the OpenCoven palette (accent `Rgb(139,92,246)` #8B5CF6, secondary `Rgb(236,72,153)` #EC4899). Nothing to change.
15
+
-**Completions (5.5):**`coven completions` generates from the clap `Command`, so the passthroughs (auth/models/acp/code) are already covered. Add a coven-side test asserting they appear (optional).
DO NOT change: binary/crate/env/path/theme-const/test/comment/repo-URL references.
30
+
31
+
### 5.1 — direct-invocation notice [coven-code]
32
+
In `crates/cli/src/main.rs` after `Cli::parse()` (~line 503) and after the `is_headless` determination (~643): if the run is INTERACTIVE (not headless/print/prompt), stdout/stderr is a TTY (`crossterm::terminal::is_terminal`), AND `COVEN_PARENT` is unset → `eprintln!` the dim notice once (before `run_interactive`). Silent when `COVEN_PARENT` is set (driven by coven) or non-interactive. The `coven-cave` alias re-execs `coven-code`, so it inherits this. Test the pure decision (`should_show_engine_notice(is_interactive, is_tty, coven_parent_set) -> bool`).
`npm deprecate @opencoven/coven-code "Install @opencoven/cli — coven-code is now the Coven engine"`. Engine binaries keep shipping via GitHub Releases. DO NOT run autonomously; surface for confirmation.
39
+
40
+
## Exit check
41
+
A new user reaches install → first session without seeing the string "coven-code" in any prose surface; running `coven-code` directly prints the "use coven" hint; `coven --version` shows coven + engine + pin.
0 commit comments