Skip to content

v1.9.0 - Multi-Directory Template Support

Choose a tag to compare

@jwesleye jwesleye released this 07 Jan 18:51
· 22 commits to main since this release

πŸŽ‰ What's New in v1.9.0

This is a minor release featuring the new multi-directory template loading system and a simplified configuration wizard.

✨ New Features

Multi-Directory Template Support

The biggest new feature - templates can now be loaded from three locations with configurable priority:

  • ~/.prompts (highest priority) - Your existing/legacy templates
  • ./.claude/commands (medium priority) - Project-specific templates that can be committed to git
  • ~/.claude/commands (lowest priority) - Global user templates

Key Benefits:

  • Teams can share templates via git by committing ./.claude/commands/
  • Personal templates stay separate in ~/.claude/commands
  • Full backward compatibility with existing ~/.prompts setups
  • Priority-based override system

Template Discovery:

# View all available templates grouped by source
#templates
# Or use the aliases
#prompts
#commands

Configuration:

features:
  claude_commands_enabled: true  # Enable/disable template system

🎯 Configuration Wizard Improvements

The configuration wizard has been significantly simplified:

Removed obsolete options:

  • Display mode selection (streaming/rich/auto) - obsolete after v1.8.0
  • Harmony configuration section - no longer needed

Current wizard prompts (Features section):

  1. Display token counts?
  2. Show agent metadata on startup?
  3. Enable command history with readline?
  4. Enable Claude slash commands (/template_name)?

Run the wizard with: chat_loop --wizard

🧹 Code Quality

  • Applied black formatting across all files
  • Fixed all ruff linting issues
  • All mypy type checks passing
  • 497 unit tests passing with zero regressions
  • 88% test coverage on template_manager

πŸ“¦ Installation

pip install basic-agent-chat-loop==1.9.0

⬆️ Upgrading from Previous Versions

pip install --upgrade basic-agent-chat-loop

Migration Notes:

  • No breaking changes - existing ~/.prompts templates continue to work
  • Existing config files are fully compatible
  • To use new template directories, just create them and add template files
  • Run chat_loop --wizard to see the simplified configuration flow

πŸ”§ Technical Details

Template Loading Algorithm:

  1. Scan all three directories for .md files
  2. When loading a template, check directories in priority order
  3. First match wins (highest priority directory)
  4. Display templates grouped by source with override indicators

Command Aliases:

  • #templates - Show all templates
  • #prompts - Alias for #templates
  • #commands - Alias for #templates

Files Modified:

  • template_manager.py - Multi-directory support with priority loading
  • display_manager.py - Grouped template display
  • command_router.py - Command aliases
  • config_wizard.py - Simplified wizard, removed obsolete options
  • chat_config.py - Added claude_commands_enabled setting
  • chat_loop.py - Config checks for template commands

πŸ“Š Full Changelog

Added:

  • Multi-directory template loading (~/.prompts, ./.claude/commands, ~/.claude/commands)
  • Grouped template display by source directory
  • Template command aliases (#prompts, #commands)
  • claude_commands_enabled configuration option

Changed:

  • Simplified configuration wizard (removed display mode and harmony options)
  • Template manager now scans multiple directories
  • Templates show source directory in listings

Fixed:

  • Line length issues in config wizard
  • Code formatting across test files
  • Restored Claude slash commands option in wizard (was missing in beta)

Removed:

  • Display mode selection from wizard (streaming/rich/auto)
  • Harmony configuration section from wizard

πŸ“š Documentation

For detailed information about using the multi-directory template system, see the README.

πŸ™ Contributors

This release includes contributions and feedback from the community. Thank you!


πŸ€– Generated with Claude Code