Skip to content

Systematic configuration overhaul: .codev/ directory, pluggable consultations, eliminate codev update #618

Closed

Description

@waleedkadous

Summary

Major configuration overhaul to make codev more systematically configurable, drawing inspiration from Claude Code's .claude/ directory pattern. This covers several related concerns:

1. Unified .codev/ configuration directory

  • Mirror Claude Code's pattern: ~/.codev/ (global) and .codev/ (project-level)
  • af-config.json moves into .codev/
  • Project-level settings override global defaults
  • Clean separation between framework files (protocols, templates) and user config

2. Pluggable consultation models

  • Users should be able to configure which models porch uses for reviews
  • Options: "claude-only", "parent" (delegate to architect session — see feat: parent-delegated consultation mode for porch #614), custom model lists
  • Addresses SPIR-SOLO #592 (SPIR-SOLO — users with only one model available)
  • Config example: { "porch": { "consultation": ["claude"] } } or "parent"

3. Eliminate codev update

  • When a user installs a new version of codev, they should automatically get the latest protocols
  • Framework files (protocols, templates, roles) should be read from the installed package at runtime, not copied into the project
  • User customizations in .codev/ override the defaults without needing to copy/modify framework files
  • codev update becomes unnecessary

4. Remote protocol sources

  • Users should be able to specify a remote repo where protocols are defined
  • Enables teams to maintain custom protocols in a shared repo
  • Config example: { "protocols": { "source": "github:myorg/my-protocols" } }

Related Issues

Context

  • Current af-config.json structure: shell commands, templates dir, roles dir, porch checks
  • codev update currently copies skeleton files into the project
  • codev-skeleton/ contains the framework files that get copied

Activity

  1. nharward commented on Mar 24, 2026

    @nharward
    Collaborator

    Commented on the related PR, should have commented here. Fixing that.

    Suggestion: for config/temp/etc. file locations use the XDG Base Directory Specification. Benefits include avoiding clutter in $HOME, clear separation of concerns for different types of files, and well-known user-level customization with standard environment variables.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    projectNew project or feature

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions