Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions .github/workflows/rust-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,3 +62,44 @@ jobs:
- name: Run tests
working-directory: src-rust
run: cargo test --workspace --locked --quiet

coven-contract:
name: Coven engine contract (non-blocking until coven#346 lands)
runs-on: ubuntu-latest
timeout-minutes: 45
# Non-blocking during bootstrap: coven `main` gains the engine contract
# tests only when OpenCoven/coven#346 + the engine-lock PR merge. Until then
# `cargo test contract` on coven matches zero tests and passes. Once coven
# main carries the suite and this job is proven stable, remove
# `continue-on-error` to make engine contract breaks a hard gate.
continue-on-error: true
steps:
- uses: actions/checkout@v5
with:
persist-credentials: false

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable

- name: Install system dependencies (engine + coven)
run: |
sudo apt-get update
sudo apt-get install -y libasound2-dev pkg-config libopenblas-dev

Comment on lines +84 to +88
- name: Build the engine
working-directory: src-rust
run: cargo build --release -p claurst --locked

- name: Check out OpenCoven/coven
uses: actions/checkout@v5
with:
repository: OpenCoven/coven
path: coven-main
persist-credentials: false
Comment on lines +93 to +98

- name: Run coven's engine contract tests against this engine
working-directory: coven-main
run: |
ENGINE="$GITHUB_WORKSPACE/src-rust/target/release/coven-code"
echo "engine: $ENGINE"; "$ENGINE" --version
COVEN_ENGINE_BIN="$ENGINE" cargo test -p coven-cli --locked contract -- --nocapture
2 changes: 2 additions & 0 deletions install.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,8 @@ function GithubPathHint {
}

# ----- Main flow -----
Write-Info "Tip: the unified Coven CLI installs and manages this engine for you -- 'npm install -g @opencoven/cli', then run 'coven'. This standalone installer still works."

if (-not [string]::IsNullOrEmpty($Binary)) {
Install-FromBinary
} else {
Expand Down
2 changes: 2 additions & 0 deletions install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,8 @@ while [[ $# -gt 0 ]]; do
esac
done

print_message info "Tip: the unified Coven CLI installs and manages this engine for you — 'npm install -g @opencoven/cli', then run 'coven'. This standalone installer still works."

# Detect platform
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
ARCH=$(uname -m)
Expand Down
3 changes: 3 additions & 0 deletions npm/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
[![Version](https://img.shields.io/npm/v/@opencoven/coven-code?style=flat-square)](https://www.npmjs.com/package/@opencoven/coven-code)
[![License](https://img.shields.io/badge/License-GPL--3.0-blue?style=flat-square)](https://github.com/OpenCoven/coven-code/blob/main/LICENSE.md)

> **Recommended install:** `npm install -g @opencoven/cli` — the unified `coven` CLI installs and manages this engine for you.
> This package (`@opencoven/coven-code`) still installs the engine binary directly and continues to work.

**Coven Code** — open-source agentic coding TUI built in Rust.
OpenCoven fork of [Claurst](https://github.com/Kuberwastaken/claurst) by Kuber Mehta (GPL-3.0).

Expand Down
2 changes: 1 addition & 1 deletion npm/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@opencoven/coven-code",
"version": "0.6.1",
"description": "Open-source agentic coding TUI for the terminal \u2014 OpenCoven fork of Claurst",
"description": "Coven engine (agentic coding TUI). The unified CLI is @opencoven/cli \u2014 'npm i -g @opencoven/cli'. This package installs the engine binary directly.",
"license": "GPL-3.0-only",
"repository": {
"type": "git",
Expand Down