Skip to content

Commit 0ddf0e4

Browse files
committed
rebrand: comprehensive second-pass user-facing surface rebrand
Replaces all remaining upstream Claurst/claurst/Rustle branding on user-visible surfaces. Internal crate names (claurst-*) intentionally preserved for upstream merge-friendliness (documented in COVEN.md). Changed files: - README.md: full rewrite — Coven Code brand, OpenCoven links, seam table - npm/README.md: rewrite for @opencoven/coven-code - npm/install.js: OpenCoven/coven-codes repo, coven-code binary/artifact names - install.sh: full rewrite — coven-code binary, OpenCoven URLs, clean paths - index.html: Coven Code brand, OpenCoven URLs, companion (was Rustle) - docs/index.md, providers.md, installation.md, commands.md, mcp.md, configuration.md: Coven Code brand, ~/.coven-code/ paths, OpenCoven URLs - docs/index.html: Coven Code brand, OpenCoven meta tags - session/index.html: OpenCoven/coven-codes GitHub link - src-rust/crates/acp/Cargo.toml: description updated - src-rust/crates/acp/registry-template/agent.json: full rebrand — id/name/URLs/artifacts/authors + upstream attribution block added - src-rust/crates/acp/src/lib.rs: OpenCoven integration seam doc added - src-rust/crates/tui/src/theme_colors.rs: OpenCoven violet palette seam note - src-rust/crates/tui/src/rustle.rs: companion seam doc (rename path noted) - src-rust/crates/core/src/share_export/template.html: OpenCoven link - src-rust/**/*.rs: all remaining 'Claurst' in string literals, comments, doc comments -> 'Coven Code' (tips, tool descriptions, error messages, output styles, session storage comments, IDE comments, feature gate docs) - scripts/bump-version.py, append-patch-note.py: coven-code refs - COVEN.md: new — OpenCoven integration guide and seam reference cargo check: clean (7.90s) cargo test -p claurst-core: 421 passed, 3 failed - keybindings ctrl+c x2: pre-existing upstream failures - session_storage sort: pre-existing timing flakiness (passes solo)
1 parent ced6d9c commit 0ddf0e4

127 files changed

Lines changed: 6361 additions & 6502 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/npm-publish.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
github.event.workflow_run.conclusion == 'success' &&
3636
github.event.workflow_run.head_branch == 'main')
3737
runs-on: ubuntu-latest
38-
name: Publish claurst to npm
38+
name: Publish coven-code to npm
3939

4040
steps:
4141
- uses: actions/checkout@v4
@@ -75,7 +75,7 @@ jobs:
7575
7676
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
7777
echo "tag=v$VERSION" >> "$GITHUB_OUTPUT"
78-
echo "Publishing claurst@$VERSION"
78+
echo "Publishing coven-code@$VERSION"
7979
8080
- name: Verify GitHub Release exists
8181
env:
@@ -121,7 +121,7 @@ jobs:
121121
pkg.version = '${VERSION}';
122122
fs.writeFileSync('npm/package.json', JSON.stringify(pkg, null, 2) + '\n');
123123
"
124-
echo "Publishing claurst@${VERSION}"
124+
echo "Publishing coven-code@${VERSION}"
125125
126126
- name: Publish to npm
127127
working-directory: npm

.github/workflows/patch-release.yml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -93,24 +93,24 @@ jobs:
9393
include:
9494
- target: x86_64-pc-windows-msvc
9595
os: windows-latest
96-
artifact: claurst-windows-x86_64
96+
artifact: coven-code-windows-x86_64
9797
ext: .exe
9898
- target: x86_64-unknown-linux-gnu
9999
os: ubuntu-latest
100-
artifact: claurst-linux-x86_64
100+
artifact: coven-code-linux-x86_64
101101
ext: ""
102102
- target: aarch64-unknown-linux-gnu
103103
os: ubuntu-latest
104-
artifact: claurst-linux-aarch64
104+
artifact: coven-code-linux-aarch64
105105
ext: ""
106106
cross: true
107107
- target: x86_64-apple-darwin
108108
os: macos-latest
109-
artifact: claurst-macos-x86_64
109+
artifact: coven-code-macos-x86_64
110110
ext: ""
111111
- target: aarch64-apple-darwin
112112
os: macos-latest
113-
artifact: claurst-macos-aarch64
113+
artifact: coven-code-macos-aarch64
114114
ext: ""
115115

116116
runs-on: ${{ matrix.os }}
@@ -170,7 +170,7 @@ jobs:
170170
- name: Verify binary exists
171171
shell: bash
172172
run: |
173-
BINARY="src-rust/target/${{ matrix.target }}/release/claurst${{ matrix.ext }}"
173+
BINARY="src-rust/target/${{ matrix.target }}/release/coven-code${{ matrix.ext }}"
174174
if [[ ! -f "$BINARY" ]]; then
175175
echo "::error::Binary not found at $BINARY"
176176
exit 1
@@ -181,14 +181,14 @@ jobs:
181181
shell: bash
182182
run: |
183183
mkdir -p "stage/${{ matrix.artifact }}"
184-
cp "src-rust/target/${{ matrix.target }}/release/claurst${{ matrix.ext }}" \
185-
"stage/${{ matrix.artifact }}/claurst${{ matrix.ext }}"
184+
cp "src-rust/target/${{ matrix.target }}/release/coven-code${{ matrix.ext }}" \
185+
"stage/${{ matrix.artifact }}/coven-code${{ matrix.ext }}"
186186
187187
- name: Upload artifact
188188
uses: actions/upload-artifact@v4
189189
with:
190190
name: ${{ matrix.artifact }}
191-
path: stage/${{ matrix.artifact }}/claurst${{ matrix.ext }}
191+
path: stage/${{ matrix.artifact }}/coven-code${{ matrix.ext }}
192192

193193
# ── Re-upload assets to the existing release ────────────────────────
194194
patch:
@@ -208,11 +208,11 @@ jobs:
208208
- name: Verify all expected assets exist
209209
run: |
210210
EXPECTED=(
211-
claurst-windows-x86_64
212-
claurst-linux-x86_64
213-
claurst-linux-aarch64
214-
claurst-macos-x86_64
215-
claurst-macos-aarch64
211+
coven-code-windows-x86_64
212+
coven-code-linux-x86_64
213+
coven-code-linux-aarch64
214+
coven-code-macos-x86_64
215+
coven-code-macos-aarch64
216216
)
217217
MISSING=()
218218
for name in "${EXPECTED[@]}"; do
@@ -311,5 +311,5 @@ jobs:
311311
fi
312312
echo
313313
echo "Anyone who installs fresh from \`releases/latest/download/…\` will pick up the patched build."
314-
echo "Existing installs are **not** auto-updated — users must reinstall or run \`claurst upgrade --force\`."
314+
echo "Existing installs are **not** auto-updated — users must reinstall or run \`coven-code upgrade --force\`."
315315
} >> "$GITHUB_STEP_SUMMARY"

.github/workflows/release.yml

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -67,24 +67,24 @@ jobs:
6767
include:
6868
- target: x86_64-pc-windows-msvc
6969
os: windows-latest
70-
artifact: claurst-windows-x86_64
70+
artifact: coven-code-windows-x86_64
7171
ext: .exe
7272
- target: x86_64-unknown-linux-gnu
7373
os: ubuntu-latest
74-
artifact: claurst-linux-x86_64
74+
artifact: coven-code-linux-x86_64
7575
ext: ""
7676
- target: aarch64-unknown-linux-gnu
7777
os: ubuntu-latest
78-
artifact: claurst-linux-aarch64
78+
artifact: coven-code-linux-aarch64
7979
ext: ""
8080
cross: true
8181
- target: x86_64-apple-darwin
8282
os: macos-latest
83-
artifact: claurst-macos-x86_64
83+
artifact: coven-code-macos-x86_64
8484
ext: ""
8585
- target: aarch64-apple-darwin
8686
os: macos-latest
87-
artifact: claurst-macos-aarch64
87+
artifact: coven-code-macos-aarch64
8888
ext: ""
8989

9090
runs-on: ${{ matrix.os }}
@@ -147,29 +147,29 @@ jobs:
147147
- name: Verify binary exists
148148
shell: bash
149149
run: |
150-
BINARY="src-rust/target/${{ matrix.target }}/release/claurst${{ matrix.ext }}"
150+
BINARY="src-rust/target/${{ matrix.target }}/release/coven-code${{ matrix.ext }}"
151151
if [[ ! -f "$BINARY" ]]; then
152152
echo "::error::Binary not found at $BINARY"
153153
exit 1
154154
fi
155155
ls -lh "$BINARY"
156156
157157
# Stage the binary into a per-archive directory using the canonical
158-
# name "claurst" (or "claurst.exe"). The install scripts assume this
158+
# name "coven-code" (or "coven-code.exe"). The install scripts assume this
159159
# name inside the archive — do not change without updating install.sh
160160
# and install.ps1.
161161
- name: Stage binary for packaging
162162
shell: bash
163163
run: |
164164
mkdir -p "stage/${{ matrix.artifact }}"
165-
cp "src-rust/target/${{ matrix.target }}/release/claurst${{ matrix.ext }}" \
166-
"stage/${{ matrix.artifact }}/claurst${{ matrix.ext }}"
165+
cp "src-rust/target/${{ matrix.target }}/release/coven-code${{ matrix.ext }}" \
166+
"stage/${{ matrix.artifact }}/coven-code${{ matrix.ext }}"
167167
168168
- name: Upload artifact
169169
uses: actions/upload-artifact@v4
170170
with:
171171
name: ${{ matrix.artifact }}
172-
path: stage/${{ matrix.artifact }}/claurst${{ matrix.ext }}
172+
path: stage/${{ matrix.artifact }}/coven-code${{ matrix.ext }}
173173

174174
# ── Create GitHub release ───────────────────────────────────────────
175175
release:
@@ -190,11 +190,11 @@ jobs:
190190
- name: Verify all expected assets exist
191191
run: |
192192
EXPECTED=(
193-
claurst-windows-x86_64
194-
claurst-linux-x86_64
195-
claurst-linux-aarch64
196-
claurst-macos-x86_64
197-
claurst-macos-aarch64
193+
coven-code-windows-x86_64
194+
coven-code-linux-x86_64
195+
coven-code-linux-aarch64
196+
coven-code-macos-x86_64
197+
coven-code-macos-aarch64
198198
)
199199
MISSING=()
200200
for name in "${EXPECTED[@]}"; do
@@ -363,7 +363,7 @@ jobs:
363363
with:
364364
tag_name: ${{ inputs.version }}
365365
target_commitish: ${{ github.sha }}
366-
name: Claurst ${{ inputs.version }}
366+
name: Coven Code ${{ inputs.version }}
367367
draft: false
368368
prerelease: false
369369
body_path: release-notes.md

CNAME

Lines changed: 0 additions & 1 deletion
This file was deleted.

COVEN.md

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
# OpenCoven Integration Guide
2+
3+
This document describes the extensibility seams in `coven-codes` for OpenCoven-specific work.
4+
It is a living document — update it as new integration surfaces are added.
5+
6+
---
7+
8+
## Upstream sync strategy
9+
10+
Internal Rust crate names (`claurst-core`, `claurst-tui`, `claurst-acp`, etc.) are **intentionally preserved**
11+
from upstream [Claurst](https://github.com/Kuberwastaken/claurst) to keep `git merge upstream/main` low-friction.
12+
13+
```bash
14+
git fetch upstream
15+
git merge upstream/main # resolve conflicts in user-facing surfaces only
16+
```
17+
18+
Only user-visible surfaces (binary name, env vars, data dirs, ACP registry, docs, README, npm package)
19+
are rebranded. This boundary is explicit and documented below.
20+
21+
---
22+
23+
## Rebranded surfaces (safe to update without upstream conflict)
24+
25+
| Surface | File(s) | Current value |
26+
|---|---|---|
27+
| Binary name | `src-rust/crates/cli/Cargo.toml` `[[bin]]` | `coven-code` |
28+
| npm package | `npm/package.json` | `@opencoven/coven-code` |
29+
| Data/cache dirs | `src-rust/crates/core/src/snapshot/`, `skill_discovery.rs`, `update_check.rs`, `app.rs` | `coven-code/` |
30+
| Env var prefix | throughout `src-rust/` | `COVEN_CODE_*` |
31+
| User-Agent | `src-rust/crates/tools/src/web_search.rs`, `update_check.rs` | `CovenCode/x.y` |
32+
| System prompt identity | `src-rust/crates/core/src/system_prompt.rs` | "You are Coven Code…" |
33+
| ACP registry template | `src-rust/crates/acp/registry-template/agent.json` | `coven-code` |
34+
| Install scripts | `install.sh`, `install.ps1`, `npm/install.js` | `OpenCoven/coven-codes` |
35+
36+
## Intentionally preserved upstream names (internal crate identifiers)
37+
38+
These are **not** user-visible and are kept for merge-friendliness:
39+
40+
- Crate names: `claurst-core`, `claurst-tui`, `claurst-api`, `claurst-tools`, `claurst-query`,
41+
`claurst-mcp`, `claurst-bridge`, `claurst-buddy`, `claurst-plugins`, `claurst-acp`,
42+
`claurst-commands`
43+
- Cargo workspace `[workspace]` resolver and member paths
44+
- Internal Rust module paths and `use` statements referencing `claurst_*`
45+
46+
---
47+
48+
## Extensibility seams
49+
50+
### 1. Provider adapters — `src-rust/crates/api/src/providers/`
51+
52+
Every provider implements `LlmProvider`. To add an OpenCoven-specific or private provider:
53+
1. Create `my_provider.rs` implementing `LlmProvider`.
54+
2. Register it in `providers/mod.rs`.
55+
3. Add routing in `src-rust/crates/core/src/settings.rs` (provider enum).
56+
57+
### 2. Plugin system — `src-rust/crates/plugins/`
58+
59+
Runtime plugin loading. Plugins can add tools, slash commands, and UI panels.
60+
Entry point: `PluginRuntime` in `crates/plugins/src/lib.rs`.
61+
62+
### 3. ACP server — `src-rust/crates/acp/`
63+
64+
JSON-RPC 2.0 over stdio (`coven-code acp`). This is the recommended Coven orchestration entry point.
65+
Extend `AcpServer` with OpenCoven-specific RPC methods here.
66+
See `registry-template/agent.json` for how Coven registers this agent.
67+
68+
### 4. Command/slash registry — `src-rust/crates/commands/`
69+
70+
Add new `/slash` commands by implementing the `Command` trait and registering in `commands/src/lib.rs`.
71+
72+
### 5. TUI theme — `src-rust/crates/tui/src/theme_colors.rs`
73+
74+
Target OpenCoven brand palette:
75+
- Primary: `#8B5CF6` (violet-500)
76+
- Accent: `#EC4899` (pink-500)
77+
- Background/surface: existing dark palette
78+
79+
Replace `default_theme()` return values when brand assets are finalized.
80+
81+
### 6. Companion mascot — `src-rust/crates/tui/src/rustle.rs`
82+
83+
ASCII mascot renderer. Currently "Rustle" from upstream.
84+
To rebrand: rename `RustlePose``CompanionPose`, update art in `rustle_lines()`, update call-sites in `render.rs` and `app.rs`.
85+
86+
### 7. Memory / session hooks — `src-rust/crates/core/src/memdir.rs`, `session_storage.rs`
87+
88+
`memdir.rs`: controls where MEMORY.md / memory files live.
89+
`session_storage.rs`: session persistence format.
90+
Hook Coven's memory layer here to sync agent sessions with OpenCoven's session/memory store.
91+
92+
### 8. Tool registry — `src-rust/crates/tools/src/`
93+
94+
All built-in tools live here (file ops, bash, web fetch/search, git, etc.).
95+
Add Coven-specific tools (e.g. `coven_session_tool.rs`) and register in `tools/src/lib.rs`.
96+
97+
---
98+
99+
## Release checklist
100+
101+
When cutting a `coven-codes` release:
102+
1. Update version in `src-rust/Cargo.toml` `[workspace.package]` and run `scripts/bump-version.py <version>`.
103+
2. Update `src-rust/crates/acp/registry-template/agent.json` archive URLs.
104+
3. Update `npm/package.json` version.
105+
4. Build release binaries for all 5 platforms; name them `coven-code-{platform}-{arch}[.exe]`.
106+
5. Create GitHub release on `OpenCoven/coven-codes` with those archives + `install.sh` + `install.ps1`.
107+
6. `npm publish --access public` for `@opencoven/coven-code` from `npm/`.

0 commit comments

Comments
 (0)