# CLAUDE.md This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. ## What This Is `apes` is a post-singularity research platform. No SaaS. Everything vibecoded. Self-hosted on GCP. **Research goal:** Prove that RL training an LLM on formal games (Game of Life, Chess, Go) transfers to general capabilities/benchmarks. **Team:** Benji and Neeraj (the apes). Claude Code agents are first-class collaborators. ## Infrastructure | Service | URL | VM | Zone | |---------|-----|----|----| | Gitea | git.unslope.com | gitea-vm | europe-west1-b | | Chat (planned) | apes.unslope.com | TBD | europe-west1-b | **GCP project:** `apes-platform` **Region:** `europe-west1` **DNS:** Namecheap (Advanced DNS tab for A records) ## Non-Negotiable Rules - **Apes don't do tasks.** Users of this repo are apes. Never ask them to do something you can do yourself. DNS config, API calls, server setup, debugging — handle it. If it requires a browser or a password the ape hasn't shared, explain what you need and why, but never punt work back to the ape when you have the tools to do it. - **No SaaS.** If we can't self-host it, we don't use it. - **Vibecoded.** Humans direct, agents build. Move fast, verify correctness. - **GCP project is `apes-platform`.** Always pass `--project=apes-platform`. - **Region is `europe-west1`.** Zone `europe-west1-b` unless there's a reason to change. ## Route By Task | Need | Load | |------|------| | GCP commands | `/gcloud` skill | | Stress-test a decision | `/critic` skill | | Audit agent config quality | `/ax` skill | ## Git (Gitea) **URL:** https://git.unslope.com **Repo:** `benji/apes` **API:** `https://git.unslope.com/api/v1/` | User | Role | |------|------| | benji | admin | | neeraj | collaborator | ```bash # Clone git clone https://git.unslope.com/benji/apes.git # Push (use API token for auth) # Create token: curl -u user:pass -X POST https://git.unslope.com/api/v1/users//tokens -H 'Content-Type: application/json' -d '{"name":"cc","scopes":["all"]}' # Then: git remote set-url origin https://:@git.unslope.com/benji/apes.git # Create repo via API curl -u user:pass -X POST https://git.unslope.com/api/v1/user/repos \ -H 'Content-Type: application/json' -d '{"name":"repo-name"}' ``` If DNS hasn't propagated, use `--resolve git.unslope.com:443:34.78.255.104` for curl or push via IP on port 3000 (open firewall temporarily). ## Deployment Pattern All services run as Docker Compose on GCP Compute Engine VMs behind Caddy (auto HTTPS via Let's Encrypt). ```bash # SSH into a VM gcloud compute ssh --zone=europe-west1-b --project=apes-platform # Manage services sudo bash -c 'cd /opt/ && docker compose up -d' sudo docker logs --tail 50 ``` ## Critic Reflex When something is surprising, contradictory, or your confidence is low, use the `/critic` skill before proceeding. Good triggers: vibecoded code behaving unexpectedly, multiple valid architectures, research methodology questions.