evOo-local/docs/LOCAL-SETUP.md
cynarAI 2c6b5c3d7b
chore: remove legacy orchestrator, trading and one-off leftovers (#109)
* chore: remove legacy orchestrator, trading and one-off script leftovers

The repository still carried the pre-evOo prototype: a Python orchestrator,
the old HTML "evoo-platform" cockpit (whose test ran in the root unit
suite), an apex-trading package, the hot-reload deploy.sh for it, a
permissions manifest, an architecture note with local file links, agent
handoff notes, a Steve Jobs persona template and about ninety one-off
scripts that probe a developer database with hard-coded local URLs. None
of it is used by the product, CI or the real deploy in ops/evo-deploy.

Delete those files, drop the evoo-platform test glob from the root vitest
config, the Cockpit section from .env.example and the dead biome and
gitignore entries, and update the docs that listed the removed tools.
scripts/start-tmux.sh no longer starts the removed sentinel and resolves
the checkout from its own location instead of a machine-specific path;
scripts/seed-ollama.ts requires DATABASE_URL instead of falling back to a
local URL with a username.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MRtGG9ARfqqhma3t85Ro2u

* fix(web): drop trading and persona prompts from the conversation shell

The web shell still showed leftovers from the trading prototype: composer
chips with German trading and "Steve Jobs" prompts, trading suggestion
chips under the empty conversation line, a German trading hero for the
empty transcript, and a German "data protection" status panel in the
sidebar. They suggested actions the product does not have and added
persistent chrome.

Remove the composer chips and their helper, the empty-state chips and the
hero (the empty conversation keeps its existing one-line start hint), the
sidebar trading indicator and the data trust panel. The new-bot E2E now
asserts the plain empty state; the sidebar spec no longer expects the
trading status, and the placeholder Steve Jobs spec with no assertions is
gone.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MRtGG9ARfqqhma3t85Ro2u

Co-authored-by: cynarAI <cynarAI@users.noreply.github.com>

* refactor: remove the trading bot status integration

With the sidebar trading indicator gone, the only remaining consumer of
the trading bot status was a banner in General settings that reused the
same component. evOo is a personal assistant; a status proxy and poller
for one external trading service, configured through service-specific
TRADING_BOT_URL and VITE_TRADING_BOT_URL variables, does not belong in
the core product.

Remove the settings banner and its prop plumbing, the web poller, the
indicator component, the /api/trading-bot/status proxy, the shared core
contract, the env loading and both variables from .env.example, together
with their tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MRtGG9ARfqqhma3t85Ro2u

* chore: remove one-off database scripts and a stale review note

packages/db carried four hand-run scripts outside the package build that
query or seed a developer database with a hard-coded connection string,
one of them for a specific account. docs/VOICE-FIRST-REVIEW.md was a
one-time verification note for a workflow that no longer exists and
named private machines and local paths. Nothing references them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MRtGG9ARfqqhma3t85Ro2u

* chore: replace machine-specific paths and addresses with placeholders

ORIGIN.md pinned the intended checkout to an absolute path under a
personal home directory, docs/LOCAL-SETUP.md listed folders on one
developer's machine, and two tests used what looks like a real tailnet
address. Use a home-relative path, drop the machine-specific folder list,
and use 100.100.100.100 in the tests; it is still inside 100.64.0.0/10,
so both tests check the same thing as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MRtGG9ARfqqhma3t85Ro2u

* test(web): drop the trading status from the shell contrast test

main's contrast test now waits for the sidebar trading status before
measuring; this branch removes that status.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MRtGG9ARfqqhma3t85Ro2u

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: cynarAI <cynarAI@users.noreply.github.com>
2026-10-04 01:13:52 +02:00

117 lines
2.9 KiB
Markdown

# Local Setup / Lokales Setup — evOo
**DE** · Startbefehle für die lokale Programmier-Maschine.
**EN** · Start commands for the local programming machine.
## Prerequisites / Voraussetzungen
- Node.js **≥ 22** (22.x / 24.x / 26+; not 23.x or 25.x)
- **pnpm 9** (`corepack enable && corepack prepare pnpm@9.15.0 --activate`)
- **Docker** (Postgres + optional sandboxes / Kokoro)
- Git, OpenSSL
## 1. Env
```bash
cp .env.example .env
```
Minimum secrets (use independent long random values):
| Variable | Notes |
|----------|-------|
| `POSTGRES_PASSWORD` | e.g. `openssl rand -hex 16` |
| `DATABASE_URL` | Same password; host port **5433** with postgres-host overlay |
| `BETTER_AUTH_SECRET` | long random |
| `ENCRYPTION_KEY` | long random |
| `SCREEN_PROXY_SECRET` | long random |
| `SANDBOX_SUPERVISOR_TOKEN` | required for Docker sandboxes |
Optional: `OPENROUTER_API_KEY`, Composio/Pipedream, `KOKORO_BASE_URL`.
## 2. Postgres
```bash
docker compose --env-file .env \
-f infra/compose/docker-compose.yml \
-f infra/compose/docker-compose.postgres-host.yml \
up postgres -d
```
Default host URL shape:
```text
postgresql://rakazo:<POSTGRES_PASSWORD>@127.0.0.1:5433/rakazo
```
(DB role/db names may still say `rakazo` — tech debt; do not rename without migration.)
## 3. Install & migrate
```bash
pnpm install
pnpm db:generate
pnpm db:migrate
```
Optional sandbox image:
```bash
pnpm sandbox:build
```
## 4. Dev servers
```bash
pnpm dev
```
Starts API, worker, web, and sandbox-supervisor (turbo filters in root `package.json`).
| Surface | URL |
|---------|-----|
| App (Vite) | http://127.0.0.1:**5173** |
| API | http://127.0.0.1:**3100** |
Desktop:
```bash
pnpm --filter @rakazo/desktop dev
```
## 5. Local models / Ollama seed
```bash
pnpm exec tsx scripts/seed-ollama.ts
```
Pi local provider: `packages/adapters/src/pi-local-provider.ts`.
## 6. Voice / Kokoro (not vendored)
Voice blobs are excluded from this repo. Run Kokoro-FastAPI yourself:
```bash
docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest
export KOKORO_BASE_URL=http://127.0.0.1:8880
```
Then connect **Kokoro** in Voice settings. See [kokoro-voice.md](./kokoro-voice.md).
## 7. Antigravity / future tools
| Tool | Path |
|------|------|
| self-update | `packages/core/src/self-update.ts` |
| local-stack | `apps/desktop/src/local-stack.ts` |
| pi-local-provider | `packages/adapters/src/pi-local-provider.ts` |
| seed-ollama | `scripts/seed-ollama.ts` |
## Tech debt: `@rakazo/*` package names
Display brand is **evOo**. Workspace package names remain `@rakazo/api`, `@rakazo/web`, `@rakazo/core`, … and some env/compose identifiers still use `RAKAZO_*` / DB name `rakazo`. Renaming would break imports and lockfile; track as follow-up.
## Source
Clean history cut from `cynarAI/evoo` commit `f00577b` on branch `antigravity-handoff/project-timeline` (Voice First + project timeline). This repo does **not** carry the old multi-remote history.