Autonomous issue-to-PR driver for Claude Code and OpenCode, structured per lair/architecture generic.md. Workspace: entities/core/data/agent library crates plus api, worker and cli binaries. Two pieces of real logic land with tests — lane routing (cc for judgement, oc for specification) and the limit governor. Constraints encoded as code rather than comments: - agents are spawned as vendor binaries; tireless never calls a provider API - ANTHROPIC_API_KEY is never set by tireless, only passed through - assert_not_anthropic refuses to start an OpenCode lane pointed at Anthropic - every run passes the governor; provider rate-limit signals win over our own accounting Deployment assets target bob.hanzalova.internal:23296 (registered in port-allocations.md), fronted by hanzalova at tireless.internal. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DHhHtohxcdk1PL3tfnYJdH
24 lines
638 B
TypeScript
24 lines
638 B
TypeScript
import { defineConfig } from 'vite';
|
|
import react from '@vitejs/plugin-react-swc';
|
|
|
|
// Build output is static and served by nginx from /var/www/tireless — no Node
|
|
// in production (architecture/generic.md §4). The API base URL is stamped at
|
|
// build time from VITE_API_BASE_URL by the deploy workflow.
|
|
export default defineConfig({
|
|
plugins: [react()],
|
|
build: {
|
|
outDir: 'dist',
|
|
sourcemap: true,
|
|
},
|
|
server: {
|
|
port: 5173,
|
|
proxy: {
|
|
// Dev-only: point at a local tireless-api on its registered port.
|
|
'/v1': {
|
|
target: 'http://127.0.0.1:23296',
|
|
changeOrigin: true,
|
|
},
|
|
},
|
|
},
|
|
});
|