AI Tools

The aider/ package provides AI pair programming with local Ollama models.

Contents

File Purpose

.aider.conf.yml

Main configuration

.aider.model.settings.yml

Model-specific settings

.aider/

Aider directory (not tracked)

Installation

stow -t ~ aider

Configuration

Setting Value

Model

ollama_chat/qwen2.5-coder:32b

Architect Mode

Enabled

Edit Format

whole (for quantized models)

Auto-commits

Disabled

Shell Commands

Ask first

What is Architect Mode?

Architect mode separates:

  1. Architect - Thinks about the approach, plans changes

  2. Editor - Formats the actual file edits

This dramatically improves quality with local quantized models.

Usage

# Start with current directory
aider

# Start with specific file
aider src/main.py

# Start with multiple files
aider src/*.py tests/*.py

# Read-only mode
aider --read-only src/main.py

# With specific model
aider --model ollama_chat/codestral

Key Commands (in aider)

Command Action

/add <file>

Add file to chat context

/drop <file>

Remove from context

/commit

Commit current changes

/diff

Show uncommitted changes

/undo

Undo last change

/exit

Quit

/tokens

Show context usage

/model <name>

Switch model

/architect

Toggle architect mode

Safety Settings

  • auto-commits: false - Never auto-commit

  • auto-test: false - Never auto-run tests

  • suggest-shell-commands: false - Ask before running shell commands

  • dirty-commits: false - No auto commits for dirty state

Model Settings

The .aider.model.settings.yml file sets:

  • num_ctx: 32768 - Extended context for large models

  • Important for Ollama which defaults to 2048!

The claude/ package manages Claude Code configuration for ~/.claude/.

Contents

File Purpose

CLAUDE.md

Global instructions (772 lines)

settings.json

Permissions (56 allow, 5 deny), env vars, sandbox

hooks.json

Lifecycle hooks (backup, validation, session start)

keybindings.json

Custom shortcuts (Ctrl+E, Ctrl+T, Ctrl+P, Ctrl+R)

hooks/validate-asciidoc-attrs.sh

AsciiDoc attribute validator

skills/deploy/SKILL.md

/deploy skill

skills/worklog/SKILL.md

/worklog skill

agents/doc-auditor.md

Documentation auditor agent

rules/asciidoc.md

Path-specific rules for *.adoc

rules/lua-nvim.md

Path-specific rules for Neovim Lua

../setup-credentials.sh

gocryptfs credentials symlink setup

Excluded (via .gitignore)

Runtime data not tracked:

  • .credentials.json - API credentials

  • history.jsonl - Conversation history (18MB+)

  • backups/, memory/, projects/, plugins/

  • session-env/, shell-snapshots/, todos/

Installation

# Stow claude package
stow -d ~/atelier/_projects/personal/dots-quantum -t ~ claude

# Verify symlinks
ls -la ~/.claude/CLAUDE.md
# Should point to dots-quantum/claude/.claude/CLAUDE.md
Runtime data stays in place - only config files are symlinked.

Credentials Setup (gocryptfs)

Claude credentials are stored in a gocryptfs-encrypted vault, NOT in the dotfiles repo. After stowing, run the setup script to create the symlink:

# 1. Mount your gocryptfs vault
gocryptfs ~/atelier/_vaults/encrypted ~/atelier/_vaults/mounted

# 2. Run credentials setup (creates symlink)
~/atelier/_projects/personal/dots-quantum/claude/setup-credentials.sh

# Or with custom vault path
VAULT_PATH=/custom/mount ./setup-credentials.sh

Expected structure after setup:

~/.claude/
β”œβ”€β”€ CLAUDE.md        β†’ dots-quantum (stow-managed)
β”œβ”€β”€ settings.json    β†’ dots-quantum (stow-managed)
β”œβ”€β”€ credentials.json β†’ gocryptfs vault (setup-credentials.sh)
└── .credentials.json  (local, auto-generated by Claude)
The credentials.json symlink is NOT stow-managed because it points to a mounted encrypted volume that varies per machine.

See PRJ: Claude Code Features for detailed configuration documentation.

The opencode/ package provides OpenCode AI coding agent configuration, stowed to ~/.config/opencode/.

Contents

File Purpose

opencode.jsonc

Main config: providers, permissions, agents, formatters, MCP, features

tui.json

TUI config: Catppuccin Mocha theme, ctrl+x leader key

AGENTS.md

Global agent instructions (288 lines, adapted from CLAUDE.md)

rules/

5 always-on instruction files (asciidoc, lua-nvim, bash-shell, d2-diagrams, python)

agents/

5 agent definitions (3 subagents + 2 primary)

commands/

3 custom slash commands (/audit-adoc, /build-check, /cost-report)

themes/

Custom Catppuccin Mocha theme (catppuccin-domus.json)

Providers

Provider Auth Notes

Ollama (Local)

N/A

Active default — Qwen3 30B MoE + DeepSeek R1 14B on RTX 5090

Anthropic

ANTHROPIC_API_KEY

Claude Sonnet/Haiku (after dsec setup)

OpenAI

OPENAI_API_KEY

O4-mini reasoning

DeepSeek

DEEPSEEK_API_KEY

OpenAI-compatible API

Google

GOOGLE_GENERATIVE_AI_API_KEY

Gemini 2.5, large context

GitHub Copilot

/connect device login

Auto-registers after auth

Agents

Primary (Tab-cyclable)

  • build — Default coding agent, full tool access

  • reviewer — Read-only documentation review (Haiku, no edit/bash/webfetch)

Subagents (@-invocable)

  • @doc-auditor — Audit docs for staleness, broken xrefs, attributes (Haiku, read-only)

  • @adoc-linter — Lint AsciiDoc for convention violations (Haiku, read-only)

  • @build-fixer — Fix all Antora build warnings (Sonnet, edit+bash)

  • @project-modularizer — Split monolithic PRJ files into partials (Sonnet, edit+bash)

Commands

Command Purpose

/audit-adoc

Lint AsciiDoc files (dispatches to adoc-linter)

/build-check

Run make, parse warnings (report only)

/build-check fix

Run make, fix all warnings, verify clean build

/cost-report

Session statistics and model usage summary

Permissions

60+ bash commands auto-allowed (git, make, awk, sed, jq, etc.).

  • Deny: rm -rf /, rm -rf ~, bash -c, age -d, gopass show, curl with data flags (-d, --data, -F, --form, --upload-file)

  • Ask: docker, systemctl, ssh, scp, npx, websearch

  • Read/edit deny: .env*, ~/.secrets/, ~/.age/

Installation

stow -R -t ~ opencode

Verify with ls -la ~/.config/opencode/ — should show symlinks to all config files.

Key Differences from Claude Code

Feature OpenCode Difference

Rules

Always-loaded (not file-type scoped)

Hooks

Plugins (JS/TS) — not yet ported

Memory

Not supported

Undo/Redo

Built-in (/undo, /redo)

MCP Servers

Not yet configured

Formatters

Defined but commented out (shfmt, ruff, prettier)

Global config

~/.config/opencode/AGENTS.md

Skills

Cross-compatible — reads ~/.claude/skills/