{
  "markdown": "# Dotfiles\n\nPersonal configuration files for Linux development environments. Includes shell, editor, terminal, and Claude Code plugin setup.\n\n## Features\n\n- **Nix & Home Manager**: Reproducible environment setup using Nix flakes and Home Manager (`flake.nix`, `home.nix`, `configuration.nix`). (work in progress)\n- **Shell Customization**: Zsh (with Oh My Zsh), custom functions, and AI-powered helpers (see `dot-zsh-functions/`).\n- **Neovim**: Lua-based configuration with plugins and custom keybindings (`nvim/`).\n- **Tmux**: Custom tmux and tmuxp session management (`tmux/`).\n- **WezTerm**: Terminal emulator configuration (`wezterm/`).\n- **Claude Code Plugin**: Auto-formatting hooks and TDD agents available as a Claude Code marketplace plugin (see `claude-plugin/`).\n- **Setup Script**: `setup.sh` automates stowing configs, installing dependencies, and setting up the environment.\n\n## Gemini CLI Extension\n\nThis repository also functions as a **Gemini CLI extension**, providing custom TDD agents, context from `GEMINI.md`, and specialized development workflows.\n\n### Installing the Extension\n\n**From your Terminal:**\n\n```bash\ngemini extensions install https://github.com/Anthony-Bible/dotfiles --auto-update\n```\n\n**From within Gemini CLI:**\n\n```bash\n/extensions install https://github.com/Anthony-Bible/dotfiles --auto-update\n```\n\n### Features\n\n- **TDD Agents**: Ported from the Claude plugin, available as sub-agents in Gemini CLI.\n- **Contextual Knowledge**: Automatically includes `GEMINI.md` for project-specific rules and instructions.\n- **Deadpool Mode**: Experience the \"Uncensored Chaos Edition\" for a more... colorful development experience.\n\n---\n\n## Claude Code Plugin\n\nThis repo acts as a **Claude Code plugin marketplace**. The `dotfiles-dev-tools` plugin provides:\n\n- **Auto-formatting hooks** that run after every file write/edit:\n  - Go (`gofmt`/`goimports`)\n  - Shell scripts (`shfmt`)\n  - Protobuf (`clang-format`)\n  - OpenAPI specs (linting)\n- **TDD agents** for the full red-green-refactor cycle:\n  - `red-phase-tester` — writes failing tests before implementation\n  - `green-phase-implementer` — writes minimal code to pass tests\n  - `tdd-refactor-specialist` — cleans up code after tests go green\n  - `tdd-review-agent` — verifies completeness after refactoring\n  - `security-auditor` — finds vulnerabilities in code\n\n### Installing the Plugin\n\n**1. Add this repo as a marketplace:**\n\n```sh\nclaude plugin marketplace add Anthony-Bible/dotfiles\n```\n\n**2. Install the plugin:**\n\n```sh\nclaude plugin install dotfiles-dev-tools@anthony-bible-dotfiles\n```\n\nOr from within Claude Code interactive mode:\n\n```\n/plugin install dotfiles-dev-tools@anthony-bible-dotfiles\n```\n\n### How the Marketplace Works\n\nThe marketplace is defined by `.claude-plugin/marketplace.json` at the root of this repo. It lists available plugins and points to their source directories.\n\nEach plugin lives in its own subdirectory (e.g., `claude-plugin/`) and contains:\n\n| Path | Purpose |\n|------|---------|\n| `.claude-plugin/plugin.json` | Plugin metadata (name, version, description) |\n| `hooks/hooks.json` | PostToolUse/PreToolUse hooks with shell commands |\n| `agents/*.md` | Custom agents with frontmatter metadata |\n| `.mcp.json` | MCP servers bundled with the plugin |\n| `.lsp.json` | LSP servers bundled with the plugin |\n\nWhen Claude Code installs a plugin, it copies the plugin directory to `~/.claude/plugins/cache/<marketplace>/<plugin>/<version>/` and activates hooks, agents, MCP servers, and LSP servers from that directory. The `${CLAUDE_PLUGIN_ROOT}` environment variable is set to the installed plugin path at runtime.\n\n### Plugin Structure\n\n```\n.claude-plugin/\n  marketplace.json          # Marketplace index listing all plugins\n\nclaude-plugin/              # dotfiles-dev-tools plugin source\n  .claude-plugin/\n    plugin.json             # Plugin metadata\n  hooks/\n    hooks.json              # Auto-format hooks (PostToolUse)\n  agents/\n    red-phase-tester.md\n    green-phase-implementer.md\n    tdd-refactor-specialist.md\n    tdd-review-agent.md\n    security-auditor.md\n  scripts/\n    goformat.sh\n    shellformat.sh\n    protoformat.sh\n    openapi-lint.sh\n    format-common.sh\n  .mcp.json                 # MCP servers (sequential-thinking)\n  .lsp.json                 # LSP servers (gopls)\n```\n\n### Other Marketplace Commands\n\n```sh\n# List all registered marketplaces\nclaude plugin marketplace list\n\n# Update marketplace plugin listings\nclaude plugin marketplace update anthony-bible-dotfiles\n\n# Remove the marketplace\nclaude plugin marketplace remove anthony-bible-dotfiles\n\n# Validate the plugin/marketplace structure\nclaude plugin validate .\n```\n\n## Directory Structure\n\n```\n.claude-plugin/          # Claude Code marketplace definition\nclaude-plugin/           # Claude Code plugin (dotfiles-dev-tools)\nconfiguration.nix        # NixOS or Home Manager configuration\nflake.nix                # Nix flake for reproducible setup\nhome.nix                 # Home Manager user configuration\nsetup.sh                 # Setup and bootstrap script\n.lsp.json                # Global LSP configuration (gopls)\n.mcp.json                # Global MCP server configuration\ndot-oh-my-zsh/           # Oh My Zsh themes and customizations\ndot-zsh-functions/       # Custom Zsh functions and widgets\nnvim/                    # Neovim configuration (Lua)\ntmux/                    # Tmux and tmuxp configuration\nwezterm/                 # WezTerm configuration\n```\n\n## Zsh Functions\n\nThe `dot-zsh-functions/` directory enhances the shell experience:\n\n- **`dot-zsh-functions`**: Aliases, environment variables, and `CheckIfDotDirFilesChanged`.\n- **`dot-ai-functions`**: AI-powered shell helpers via Claude:\n  - `command_not_found_handler`: Suggests commands for unknown input.\n  - `explain` / `explain:`: Explains a given command.\n  - `Alt-e` ZLE widget: Sends current command line to Claude and replaces it with the result.\n  - `ai_commit_msg` / `Alt-g`: Generates commit messages from staged changes using `fzf` + Claude.\n- **`dot-tcn-functions`**: Work-specific helpers (DokuWiki, PostgreSQL, Kamailio, GCP IAM).\n\n## Getting Started\n\n### Prerequisites\n\n- [Nix](https://nixos.org/download.html) (with flakes enabled)\n- [Home Manager](https://nix-community.github.io/home-manager/)\n- [GNU Stow](https://www.gnu.org/software/stow/)\n- [Claude Code](https://claude.ai/code) (for the plugin features)\n\n### Installation\n\n1. **Clone the repository:**\n   ```sh\n   git clone https://github.com/Anthony-Bible/dotfiles.git\n   cd dotfiles\n   ```\n\n2. **Run the setup script:**\n   ```sh\n   ./setup.sh\n   ```\n\n3. **Activate Home Manager configuration:**\n   ```sh\n   nix run .#homeConfigurations.$USER.activationPackage\n   ```\n\n4. **Install the Claude Code plugin** (see [Installing the Plugin](#installing-the-plugin) above).\n\n## License\n\nMIT License. See individual files for copyright.\n",
  "bytes": 6874,
  "sha": "c5bbcc056bf21cef2e76db5e85288c82d8506b9c02deb01cb7ecda87cbd93a2b",
  "repo_slug": "anthony-bible/dotfiles",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_anthony_bible_dotfiles_bb7dd22d/readme"
}