Skip to content

kylep/multi

Repository files navigation

multi

Kyle's personal monorepo for maintained projects and the infrastructure that runs them. This repo is treated as production: changes go through PRs to main, dependencies stay at zero known vulnerabilities, and the docs are kept accurate.

Experiments, half-baked ideas, and retired projects live in kylep/multi-sandbox instead — nothing there is maintained. When a project here stops earning its keep, it migrates to the sandbox (content moves; its history stays in this repo's git history).

Projects

Project Description Tech
blog Static blog + wiki for kyle.pericak.com, including the agent-facing wiki Next.js (static export), Tailwind, Playwright
kytrade Personal trading tools: API + CLI, Claude-integrated Python 3.14/uv, FastAPI, Typer, PostgreSQL
robot-battle Web robot-battle game built with Oliver TypeScript, Vite, Vitest
llm-client Browser chat UI for llama-server / OpenRouter, live at kyle.pericak.com/apps/llm-client Next.js 16, Tailwind v4, pnpm
mods Stellaris mods (3x Bigger Worlds, Multi-Megastructures) and a HOI4 mod, published on Steam Workshop Paradox script, Python build tooling
xmasblocks Find funny word combos from scrambled Christmas letter blocks Python, OpenAI API
mcp-servers 8 MCP servers wired into local Claude Code config (bitwarden, cc-usage, discord, google-news, google-search-console, openobserve, openrouter, screenshot) TypeScript + Python
pai Docs, backup and Terraform for the Pai agent system Terraform, Markdown

Infrastructure

The Rancher Desktop cluster on the Mac laptop is the runtime for the agent system. infra/ holds what deploys to it, plus supporting images:

Directory What it is
infra/local-k8s Local cluster bootstrap (Vault etc.)
infra/ai-agents Agent workloads: ai-agent-runtime image, cronjob Helm charts (journalist, pai-morning), agent-controller (Go)
infra/ai-security-toolkit-1 semgrep + trivy + gitleaks scan image used by this repo's pre-PR checks

Also: bin/ (scripts used by agents, e.g. github-trending.py for the journalist cronjob), .claude/agents/ (the Claude Code agent team), .ruler/ (sources that generate CLAUDE.md/AGENTS.md via ruler apply), and secrets/ (gitignored real secrets; tracked .SAMPLE templates).

Dev environment setup

Secrets

Copy secrets/export-kytrade.sh.SAMPLE, remove the .SAMPLE suffix, fill in the values, then source it:

source secrets/export-kytrade.sh

Pre-commit hooks

Runs gitleaks on commit and push to detect secrets (plus ruff, biome, and semgrep on commit).

pre-commit install --hook-type pre-commit --hook-type pre-push

Per-project setup

Each project has its own README. The short version:

Releases

Packages

Used by

Contributors

Languages