원클릭으로
machine
How to navigate this specific machine — Docker setup, known gotchas, and environment facts specific to the NUC running Axonix.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
How to navigate this specific machine — Docker setup, known gotchas, and environment facts specific to the NUC running Axonix.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Reads recent git commits and returns a compact human-readable activity summary.
Axonix evaluates its own code, goals, and metrics to identify improvement opportunities.
How this codebase is structured, where to find things, and how to make changes safely. Read this before touching any src/ file.
Axonix's core self-improvement skill. Runs every session.
Write journal entries and respond to GitHub issues with an authentic voice
Rust patterns Axonix gets wrong repeatedly — check this before writing code.
| name | machine |
| description | How to navigate this specific machine — Docker setup, known gotchas, and environment facts specific to the NUC running Axonix. |
I run on an Intel NUC home server managed by coe0718. This skill documents everything I have learned about this specific environment so I do not have to rediscover it each session.
Container: axonix inside Docker Compose on the NUC.
Working directory: /workspace (bind-mounted from the host).
Timezone: America/Indiana/Indianapolis (from TZ env var).
Cron cadence: Sessions are triggered by cron every 4 hours via scripts/evolve.sh.
My identity inside Git: axonix-bot (configured by configure_git_identity() on startup — only inside Docker).
| Service | Purpose | Port |
|---|---|---|
axonix | Me — the agent. Started by cron via evolve.sh | none |
axonix-stream | SSE stream server for live session output | 7040 |
dockerproxy | Docker socket proxy for safe container ops | 2375 |
All three run with restart: always. The stream server starts automatically — no
operator action needed. Sessions are visible live at stream.axonix.live.
Profile note: The axonix service uses profiles: [session] — it does NOT start
automatically with docker compose up. It runs only when explicitly invoked via
docker compose run --rm --profile session axonix ... (which evolve.sh does).
git log with certain flags segfaults inside the container. Safe alternatives:
git show HEAD — see the most recent commitgit diff --stat HEAD~N HEAD — diff between commitsgit show --stat HEAD — files changed in last commitJOURNAL.md for history instead of git logscripts/evolve.sh is mounted :ro inside the container. Cannot modify it from a session.
To propose changes: write to EVOLVE_PROPOSED.md and the operator will review and apply.
Never claim credit for evolve.sh changes until the operator has applied them.
configure_git_identity() only runs inside Docker (detected by /.dockerenv).
This prevents polluting the operator's host git config with the axonix-bot identity.
ANTHROPIC_API_KEY starts with sk-ant-oat01- (OAuth Access Token from Claude Pro,
not a standard API key). Billing goes against the Pro subscription.
Every variable must be explicitly listed in docker-compose.yml environment: section —
not just in .env. When adding a new key, update all three:
.env (real values, gitignored).env.example (placeholder values, committed)docker-compose.yml environment sectionCurrent active variables: see CAPABILITIES.md.
My state lives in .axonix/ (bind-mounted, persists across sessions):
memory.json — key-value facts (G-019)predictions.json — open + resolved predictions (G-021)cycle_summary.json — compact last-session summary (Issue #38)Two tokens, two purposes:
GH_TOKEN — owner's token. Used by gh CLI for repo operations (push, fetch issues, etc.)AXONIX_BOT_TOKEN — axonix-bot account token. Used for posting issue comments and
closing issues via the GitHub REST API (not gh CLI).Rule: Always use AXONIX_BOT_TOKEN for issue comments so they appear as axonix-bot,
not as the repo owner. Never use gh issue comment for responses.
Twitter write API (POST /2/tweets) requires tokens generated after setting app permissions to "Read and Write" in the Twitter Developer Portal. Tokens bake in their permission scope at generation time. The 402 error I hit early was a credentials issue, not a billing issue. If write ops fail, check token generation order.
Free-tier social posting. No write restrictions. Use for session announcements when
Twitter is unavailable. Credentials: BLUESKY_IDENTIFIER, BLUESKY_APP_PASSWORD.
AT Protocol authentication via src/bluesky.rs.
axonix.livestream.axonix.livedocs/index.html + scripts/build_site.py (reads METRICS.md, GOALS.md, JOURNAL.md)python3 scripts/build_site.pyTo verify dashboard data is correct: check METRICS.md for any ~?k token rows
(the build script skips unparseable values gracefully since Day 6 S3).
cargo build && cargo test 2>&1 | grep "^test result" — confirm clean builddocker-compose.yml environment: vs CAPABILITIES.md — all keys present?GOALS.md — any [x] entries still in Active? Any duplicates?ISSUES_TODAY.md — any unanswered community issues?.axonix/cycle_summary.json — was last session summarized?Written by Axonix — Day 7 Session 6 (2026-03-20) Self-authored. Not seeded by the operator.