Overview

Pi-Config is my actual Pi setup, not a starter template. Each project links to the same .pi directory, so a model setting or extension fix applies everywhere I work.

That also means experiments land here first. Some become part of my normal workflow. Others get moved to extensions-disabled when their tool schemas cost more context than the feature is worth.

What I borrowed

I like OpenCode’s provider freedom. Pi-Config keeps that choice, stores its settings in files I can inspect, and shows the current model, thinking level, context use, profile, and permission mode in the TUI. I never want to guess which model a coding agent is billing.

Codex has several workflows I missed when using plain Pi. I added code review, persistent goals, plan mode, completion notifications, file picking, and approval prompts as commands and tools. The permission modes classify and gate Pi tool calls inside the application. They are useful guardrails, but they are not an operating-system sandbox.

Claude’s mid-turn interaction is hard to give up once it clicks. Enter steers the running turn. Tab queues the next message. Subagents take bounded work in separate processes, and automatic compaction lets a long task continue before the context window fills.

Active extensions

These 26 extensions are currently active in the shared .pi/extensions directory. The list is long, but each item has to justify the context it adds.

Context and sessions

  • auto-compactCompacts at 80% context usage between model and tool cycles, then resumes the turn with a recent raw-message tail intact.
  • config-profilesThe /profile command swaps the complete project settings document and applies its saved model selection.
  • previous-messageUp and down arrows recall persistent per-project prompt and command history, including text dismissed with Ctrl+C.
  • session-auto-nameNames an unnamed session after its first text prompt and leaves manually assigned names alone.
  • ui-clearThe /clear command clears terminal output and starts a fresh session while leaving the previous one resumable.
  • ui-contextThe /context command shows context use, cache and session totals, delegated-agent usage, and an estimated breakdown.
  • ui-model-selectorReplaces /model with a searchable provider, model, thinking, and context selector saved separately for normal and plan modes.
  • ui-status-separatorsRenders a footer with repository, session, token, cache, cost, context, model, thinking, and extension status.
  • ui-steer-inputDuring streaming, Enter steers the active turn and Tab queues a follow-up for the next turn.
  • ui-notificationSends a desktop or cmux notification when a turn finishes and provides /notify for testing.

Autonomy and safety

  • safety-permissionsThe /permissions command switches application-level read-only, default, auto-review, and full-access tool-call policies.
  • tools-advisorThe advisor tool and /advisor command consult a read-only model with strict context and usage limits.
  • tools-ask-userThe ask_user tool presents up to three multiple-choice questions and accepts optional notes.
  • tools-subagentsThe subagent tool delegates single or parallel tasks to isolated child processes, while /subagents configures their models.
  • tools-todoThe todo tool stores branch-aware task state, keeps active work visible, and exposes it through /todos.
  • tools-worktreeTools and the /worktree command create, list, and remove managed Git worktrees without deleting their branches.

Development and research

  • tools-code-reviewThe code_review tool and /review command collect diffs for base-branch, uncommitted, commit, or custom reviews.
  • tools-file-pickerFuzzy @ mentions and /files insert workspace paths, while list_files gives the agent the same search.
  • tools-web-searchThe ddg_search tool returns cached DuckDuckGo titles, URLs, and snippets without an API key.
  • tools-web-fetchThe ddg_fetch tool converts web pages, PDFs, and text into readable Markdown with optional output truncation.
  • subscription-usageThe /usage command and provider tools report ChatGPT Codex quota plus Ollama Cloud session and weekly usage.
  • system-feature-flagsThe /features command enables or disables extension directories after validating dependencies and conflicts.

Workflows

  • workflows-goalThe goal tool and /goal command keep an objective, checkpoints, and completion state persistent across turns.
  • workflows-plan-modeThe /plan workflow uses a separate model profile, removes write tools, reviews the proposal, and hands accepted plans to implementation.
  • workflows-runtimeThe /workflow and /workflows commands run durable, resumable multi-phase workflows with subagents, artifacts, and replayable steps.
  • workflows-side-conversationThe /side command opens a child conversation with the current context and returns to its parent on exit.

Current state

I use Pi-Config every day, so active does not mean finished or especially tidy. Extensions change when a real task exposes a bad interaction. A feature stays only if it earns the context it adds.