Skip to content

Conversation

@btucker
Copy link
Owner

@btucker btucker commented Dec 31, 2025

  • Add comprehensive AGENT_PLUGINS.md with guide for creating plugins
  • Support external plugins via pip packages (entry points) and config file
  • Add agentgit agents add/list/remove CLI commands for plugin management
  • Update terminology from "format plugins" to "agent plugins"
  • Plugins can be registered via:
    • pip install (entry points auto-discovered)
    • ~/.config/agentgit/plugins.json config file
    • agentgit agents add command

- Add comprehensive AGENT_PLUGINS.md with guide for creating plugins
- Support external plugins via pip packages (entry points) and config file
- Add `agentgit agents add/list/remove` CLI commands for plugin management
- Update terminology from "format plugins" to "agent plugins"
- Plugins can be registered via:
  - pip install (entry points auto-discovered)
  - ~/.config/agentgit/plugins.json config file
  - agentgit agents add command
- `agentgit_extract_operations(transcript)` - Extract `FileOperation` list
- `agentgit_enrich_operation(operation, transcript)` - Add prompt/context metadata
- `agentgit_discover_transcripts(project_path)` - Find transcripts for a project
- `agentgit_get_project_name(transcript_path)` - Decode project name from transcript location
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@claude why are we removing this?


@agents.command("add")
@click.argument("plugin_spec")
def agents_add(plugin_spec: str) -> None:
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@claude The way I think this should work is you should pass a pip module & then it should install it with uv/pip

- `agentgit agents add <package>` now installs via uv/pip
- `agentgit agents remove <package>` now uninstalls via uv/pip
- Plugin packages tracked in ~/.agentgit/plugins.json
- Entry points auto-discovered from installed packages
- Prefers uv if available, falls back to pip
- Add documentation for enhancement hooks (turn_summary, prompt_summary, curate_turn_context)
- Add claude_code_web to built-in plugins list
- Add rules and llm enhancer plugins to built-in list
- Update hooks table with enhancer plugin hooks
- Update test_cli.py: Use 'sessions' command instead of renamed 'discover'
- Update test_claude_code.py: Use extract_deleted_paths from utils module
- Update test_repo_id.py: Disable GPG signing for test commits
- Remove duplicate 'test_repo_id 2.py' file (accidental copy)
Tests cover:
- Plugin config read/write (get_plugins_config, save_plugins_config)
- Pip/uv command selection (get_pip_command)
- Package install/uninstall (install_plugin_package, uninstall_plugin_package)
- Add/remove plugin workflow (add_plugin, remove_plugin)
- Plugin listing (list_configured_plugins, list_installed_packages)
- Entry point loading with error handling
- Plugin manager reset functionality

Coverage for plugins.py improved from 59% to 91%.
The workflow now:
1. Generates XML coverage report during tests
2. On PRs, compares coverage against the base branch
3. Fails if coverage drops below the base branch
4. Comments on the PR with coverage status

This ensures PRs maintain or improve test coverage.
@github-actions
Copy link

github-actions bot commented Jan 4, 2026

Coverage Report

✅ Coverage: 80.12% (0.01%)

The entry points documentation is already covered in AGENT_PLUGINS.md.
@github-actions
Copy link

github-actions bot commented Jan 4, 2026

Coverage Report

✅ Coverage: 80.12% (0.01%)

- Change configuration format from JSON to YAML (~/.agentgit/config.yml)
- Add PyYAML dependency
- Restructure CLI: agentgit config agents instead of agentgit agents
- Update plugins.py with get_config/save_config for root config management
- Update all tests for new config format and CLI structure
- Update documentation in AGENT_PLUGINS.md and CLAUDE.md
@github-actions
Copy link

github-actions bot commented Jan 4, 2026

Coverage Report

✅ Coverage: 80.19% (0.08%)

- Create new settings.py module for global config management
- Move CONFIG_PATH, get_config(), save_config() to settings.py
- Keep plugin-specific get_plugins_config/save_plugins_config in plugins.py
- Update tests to import config functions from settings module
@github-actions
Copy link

github-actions bot commented Jan 4, 2026

Coverage Report

✅ Coverage: 80.22% (0.11%)

@btucker btucker merged commit 1a36be1 into main Jan 4, 2026
6 checks passed
@btucker btucker deleted the claude/agent-plugins-documentation-0ILd5 branch January 4, 2026 21:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants