Initial commit: Flynn's workspace
- AGENTS.md: workspace conventions and guidelines - SOUL.md: personality and principles - USER.md: about William - IDENTITY.md: who I am - TOOLS.md: local notes and infrastructure details - MEMORY.md: long-term memory - HEARTBEAT.md: periodic task config - LLM-ROUTING.md: model selection guide - memory/2026-01-26.md: daily log - .gitignore: exclude runtime state and secrets
This commit is contained in:
160
TOOLS.md
Normal file
160
TOOLS.md
Normal file
@@ -0,0 +1,160 @@
|
||||
# TOOLS.md - Local Notes
|
||||
|
||||
Skills define *how* tools work. This file is for *your* specifics — the stuff that's unique to your setup.
|
||||
|
||||
---
|
||||
|
||||
## 🏠 Homelab Infrastructure
|
||||
|
||||
### Kubernetes Cluster
|
||||
- **Distribution:** k0s
|
||||
- **Nodes:** 3 (2x Pi5 8GB, 1x Pi3 1GB)
|
||||
- **Architecture:** arm64
|
||||
- **Storage:** Longhorn (StorageClass: `longhorn`)
|
||||
- **GitOps:** ArgoCD
|
||||
- **Monitoring:** kube-prometheus-stack, Loki, Grafana, Alertmanager
|
||||
|
||||
### Network
|
||||
- **Tailnet:** `taildb3494.ts.net`
|
||||
- **MetalLB Pool:** `192.168.153.240-254`
|
||||
- **Ingress (nginx):** `192.168.153.240`
|
||||
- **Ingress (haproxy):** `192.168.153.241`
|
||||
- **DNS Pattern:** `<app>.<ns>.<ip>.nip.io`
|
||||
|
||||
### Key Services & URLs
|
||||
| Service | URL |
|
||||
|---------|-----|
|
||||
| Grafana | `grafana.monitoring.192.168.153.240.nip.io` |
|
||||
| Longhorn UI | `ui.longhorn-system.192.168.153.240.nip.io` |
|
||||
| Open WebUI | `oi.ai-stack.192.168.153.240.nip.io` |
|
||||
| ArgoCD | via Tailscale |
|
||||
| Home Assistant | `ha.home-assistant.192.168.153.241.nip.io` |
|
||||
| n8n | `n8n.ai-stack.192.168.153.240.nip.io` |
|
||||
|
||||
### Namespaces
|
||||
`ai-stack`, `argocd`, `monitoring`, `loki-system`, `longhorn-system`, `metallb-system`, `minio`, `nginx-ingress-controller`, `tailscale-operator`, `gitea`, `home-assistant`, `pihole`, `plex`, `ghost`, `kubernetes-dashboard`, `docker-registry`
|
||||
|
||||
### AI Stack
|
||||
- **Namespace:** `ai-stack`
|
||||
- **Components:** Open WebUI, Ollama, LiteLLM, SearXNG, n8n, vLLM
|
||||
- **Ollama Host:** `100.85.116.57:11434`
|
||||
- **Models:** gpt-oss:120b, qwen3-coder
|
||||
|
||||
---
|
||||
|
||||
## 💻 Workstation
|
||||
|
||||
- **Hostname:** `willlaptop`
|
||||
- **IP:** `192.168.153.117`
|
||||
- **OS:** Arch Linux
|
||||
- **Desktop:** GNOME
|
||||
- **Shell:** fish
|
||||
- **Terminals:** ghostty, alacritty
|
||||
- **Theme:** Dracula
|
||||
- **Dotfiles:** chezmoi
|
||||
|
||||
### Dev Tools
|
||||
- **Editors:** VSCode, Zed, Vim
|
||||
- **Languages:** Go, Rust, Python, TypeScript, Zig
|
||||
- **K8s Tools:** k9s, kubectl, argocd CLI, krew, kubecolor
|
||||
- **Containers:** Docker, Podman, Distrobox
|
||||
|
||||
### Local AI
|
||||
- **Ollama:** ✅ running
|
||||
- **llama-swap:** ✅
|
||||
- **Models:** Qwen3-4b, Gemma3-4b
|
||||
|
||||
---
|
||||
|
||||
## 📁 Key Repos
|
||||
|
||||
### Homelab GitOps
|
||||
- **Path:** `~/Code/active/devops/homelab/homelab`
|
||||
- **Remote:** `git@github.com:will666/homelab.git`
|
||||
- **Structure:**
|
||||
- `argocd/` — ArgoCD Application manifests
|
||||
- `charts/<svc>/values.yaml` — Helm values
|
||||
- `charts/<svc>/manifests/` — Raw K8s manifests
|
||||
- `ansible/` — Node provisioning
|
||||
|
||||
### Workstation Config
|
||||
- **Path:** `~/Code/active/devops/willlaptop`
|
||||
- **Remote:** `git@gitea-gitea-ssh.taildb3494.ts.net:will/willlaptop.git`
|
||||
- **Purpose:** Ansible playbooks, package lists, scripts
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Claude Code Integration
|
||||
|
||||
William also has a Claude Code setup at `~/.claude/` with:
|
||||
- Multi-agent hierarchy (PA → Master Orchestrator → Domain Agents)
|
||||
- Skills for gmail, gcal, k8s-quick-status, rag-search
|
||||
- Component registry for routing
|
||||
- Guardrails (PreToolUse safety hooks)
|
||||
- future-considerations.json for deferred work
|
||||
|
||||
When working on k8s or homelab tasks, can reference:
|
||||
- `~/.claude/state/kb.json` — Infrastructure facts
|
||||
- `~/.claude/state/future-considerations.json` — Deferred features
|
||||
- `~/.claude/repos/homelab/` — Symlink to homelab repo
|
||||
|
||||
---
|
||||
|
||||
## 📧 Google Workspace (gog CLI)
|
||||
|
||||
Use `gog` for Gmail, Calendar, Drive, Contacts, Sheets, Docs.
|
||||
|
||||
### Gmail
|
||||
```bash
|
||||
gog gmail search 'newer_than:7d is:unread' --max 10
|
||||
gog gmail search 'from:github.com' --max 20
|
||||
gog gmail search 'subject:urgent' --max 5
|
||||
```
|
||||
|
||||
### Calendar
|
||||
```bash
|
||||
# Week ahead
|
||||
gog calendar events primary --from "$(date -I)" --to "$(date -I -d '+7 days')"
|
||||
|
||||
# Today only
|
||||
gog calendar events primary --from "$(date -I)" --to "$(date -I -d '+1 day')"
|
||||
```
|
||||
|
||||
### Tasks
|
||||
```bash
|
||||
# List task lists
|
||||
gog tasks lists list
|
||||
|
||||
# List tasks in main list
|
||||
gog tasks list "MTM5MjM0MjM3MzYwODI4NzQ3NDE6MDow"
|
||||
```
|
||||
|
||||
### Auth Status
|
||||
- ✅ Gmail: authorized
|
||||
- ✅ Calendar: authorized
|
||||
- ✅ Tasks: authorized
|
||||
|
||||
---
|
||||
|
||||
## 🤖 LLM Routing
|
||||
|
||||
See **LLM-ROUTING.md** for full guide. Quick reference:
|
||||
|
||||
| Task | Use |
|
||||
|------|-----|
|
||||
| Simple parsing | `opencode run -m github-copilot/claude-haiku-4.5` |
|
||||
| Code work | `opencode run -m github-copilot/claude-sonnet-4.5` |
|
||||
| Complex reasoning | `claude -p --model opus` |
|
||||
| Long context | `gemini -m gemini-2.5-pro` |
|
||||
|
||||
**Principle:** Start cheap, escalate if needed.
|
||||
|
||||
---
|
||||
|
||||
## 🎙️ Preferences
|
||||
|
||||
*(Add voice, speaker, camera preferences as discovered)*
|
||||
|
||||
---
|
||||
|
||||
Add whatever helps you do your job. This is your cheat sheet.
|
||||
Reference in New Issue
Block a user