Skip to content

Latest commit

 

History

History
140 lines (93 loc) · 2.8 KB

File metadata and controls

140 lines (93 loc) · 2.8 KB

Development Guide

How to set up, build, and work on ThatCode locally.

Release target (v1): Windows — NSIS + MSI + portable zip on GitHub Releases.


Repository layout

/
├── src/                 # React + TypeScript frontend
├── src-tauri/           # Rust backend (Tauri)
├── .github/workflows/   # CI (Ubuntu) + release (Windows)
├── docs/                # Product, trust, temp pivot plans
└── scripts/             # e.g. generate-sha256.ps1

Initial setup

git clone https://github.com/Satan2049/that-code.git
cd that-code
npm ci

Ensure Rust is installed:

rustc --version
cargo --version

Install Tauri prerequisites for Windows.


Development server

npm run tauri dev

Quality checks (run before PR)

npm run build          # TypeScript + Vite
npm run typecheck
npm run test:rust      # cargo test
npm run lint:rust      # cargo clippy -D warnings

Production build (Windows)

npm run tauri build

Artifacts: src-tauri/target/release/bundle/ (NSIS + MSI in tauri.conf.json). Add portable zip to the release manually if needed.

.\scripts\generate-sha256.ps1

Compare output with SHA256.txt before tagging.


Backend (Rust)

Directory Purpose
commands/ Tauri IPC handlers
orchestrator/ Message pipeline (run_turn)
agents/ Executor tool loop, tier profiles
tools/ Workspace sandbox, verify, git
ai/ HTTP client and prompts
db/ SQLite persistence

Local AI stack

ThatCode works with any OpenAI-compatible chat API.

Role Example
Chat Ollama http://localhost:11434/v1
Embeddings (RAG) Ollama nomic-embed-text
Cloud OpenAI, Azure, compatible proxies

Agent bench (no API key):

cargo test bench:: --manifest-path src-tauri/Cargo.toml

Live LLM eval (optional):

$env:THATCODE_EVAL_LIVE="1"
$env:THATCODE_API_BASE="http://localhost:11434/v1"
$env:THATCODE_MODEL="llama3.2"
cargo test live_eval --manifest-path src-tauri/Cargo.toml -- --ignored --nocapture

Legacy MUSE_EVAL_* env names still work.


CI

.github/workflows/ci.yml — build + Rust tests on Ubuntu (push/PR).


Releases

.github/workflows/release.ymlWindows only when a v* tag is pushed. Attaches SHA256.txt.


Planning


Related