Commit graph

12 commits

Author SHA1 Message Date
Snider
c9391635eb
feat(code): implement /core:commit smart commit command (#73)
Implements a new `/core:commit` command that analyzes staged changes to generate a conventional commit message.

The command supports three main modes of operation:
- `/core:commit`: Automatically generates a commit message based on the content of the staged files.
- `/core:commit "custom message"`: Uses the provided string as the full commit message.
- `/core:commit --amend`: Amends the last commit with the new message.

Message generation includes several heuristics:
- **Commit Type:** Determined by file paths (e.g., `_test.go` -> `test`) and diff content (e.g., keywords like `fix` or `refactor`).
- **Scope:** Inferred from the most common directory name among the staged files.
- **Summary:** Extracted from function or class names in the diff, or defaults to a file-based summary.
- **Co-Author:** A `Co-Authored-By` trailer is automatically appended.

This feature streamlines the development workflow by automating the creation of descriptive and conventional commit messages.
2026-02-02 07:16:29 +00:00
Snider
dc4a5ed329
feat(core): Add /core:status command for multi-repo status (#72)
Adds a new command `/core:status` to display the status of all repositories in a formatted table.

The command provides the following features:
- Displays module name, branch, clean/dirty status, and ahead/behind counts.
- Supports filtering for dirty repositories with the `--dirty` flag.
- Supports filtering for repositories behind remote with the `--behind` flag.
- Includes a summary line with counts of dirty, behind, and clean repositories.

This is implemented by wrapping the existing `core dev health` command with a new script that handles formatting and filtering.
2026-02-02 07:15:08 +00:00
Snider
3782514acf
feat(cli): integrate MCP server (#71)
Exposes core CLI commands as MCP tools for AI agents.

This change introduces a Go-based MCP server that wraps the
existing core CLI commands (`go test`, `dev health`, `dev commit`),
providing structured JSON responses.

This allows AI agents to interact with the core CLI in a structured,
type-safe manner.

The implementation includes:
- A new Go HTTP server in `google/mcp/`
- Handlers for each of the core CLI commands
- Unit tests for the handlers with a mock `core` executable
- Documentation for the new MCP tools
- Integration with the `code` plugin via `plugin.json`
2026-02-02 07:14:50 +00:00
Snider
94d9d28f4a
feat: Add /core:env for environment management (#70)
This commit introduces a new command, `/core:env`, to manage environment variables. It provides a set of tools to compare and manage a local `.env` file against a `.env.example` template, with a strong emphasis on security by masking sensitive values.

The command includes the following subcommands:
- `/core:env`: Shows the current environment variables with sensitive values masked.
- `/core:env check`: Validates the local `.env` file against `.env.example`, reporting any missing or required variables.
- `/core:env diff`: Displays the differences between the `.env` and `.env.example` files, ensuring sensitive data is not exposed.
- `/core:env sync`: Adds missing variables from `.env.example` to the local `.env` file without overwriting existing values.

To prevent accidental exposure of secrets, the `.env` file is now included in `.gitignore`.
2026-02-02 07:14:37 +00:00
Snider
14cb0f4d7b
feat(code): add secret detection hook (#67)
This change introduces a new hook that runs before a file is written or edited. The hook executes a script that scans the file content for patterns that match common secret formats, such as API keys, AWS keys, and private keys.

If a potential secret is found, the script exits with a non-zero status code, which blocks the file operation and prevents the secret from being committed. The script also provides a user-friendly error message with the filename, line number, and a suggestion to use environment variables.

This helps to prevent accidental commits of sensitive credentials to the repository.
2026-02-02 07:13:28 +00:00
Snider
394d11d9d2
feat: /core:explain explain code or errors (#66)
Explain code, errors, or stack traces in context.

Proposed Commands:
/core:explain file.php:45     # Explain code at line
/core:explain error           # Explain last error
/core:explain stack           # Explain stack trace
2026-02-02 07:13:13 +00:00
Snider
fb40da66bd
feat: Add Laravel-specific skill for PHP modules (#64)
Adds a new skill to provide Laravel-specific patterns and guidance for PHP module development.

This includes documentation on:
- Event-driven module structure
- Single-purpose Action classes
- Multi-tenancy with BelongsToWorkspace trait
- UI component conventions (Flux Pro, Font Awesome Pro)
- Common `core` CLI commands for testing, formatting, and analysis.
2026-02-02 07:12:40 +00:00
Snider
f8902e5116
feat: Add interactive onboarding command (#63)
Adds a new `/core:onboard` command to provide an interactive onboarding experience for new contributors.

The command:
- Explains the repository structure and key modules.
- Lists common development commands.
- Links to good first issues.
- Includes a `--module` option for deep dives into specific modules (tenant, admin, php).
- Prompts the user about their interests to guide them to a suitable first task.
2026-02-02 07:12:28 +00:00
Snider
547a29dfd1
feat: Add /core:debug skill for systematic debugging (#62)
Adds a new skill, `/core:debug`, to provide a structured workflow for debugging issues. The skill is defined in `claude/code/commands/debug.md` and follows the systematic protocol outlined in the original request.

The debugging protocol includes the following steps:
1.  Reproduce
2.  Isolate
3.  Hypothesize
4.  Test Hypotheses
5.  Fix
6.  Verify
2026-02-02 07:11:33 +00:00
Snider
9c3ff81787 feat(code): add skills from core-claude
Migrated 5 skills from host-uk/core-claude:
- core: CLI command reference
- go: Go framework patterns
- php: PHP module patterns
- go-agent: Autonomous Go development agent
- php-agent: Autonomous PHP development agent

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 04:56:13 +00:00
Snider
35260ed49e refactor: extract data collection into separate 'collect' plugin
Move collection hooks, scripts, and all skills from claude/code to
new claude/collect plugin. Updates marketplace.json and plugin
descriptions accordingly.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 00:00:50 +00:00
Snider
9942ab8081 refactor: restructure as plugin monorepo
Reorganise as a marketplace with multiple focused plugins:
- claude/code: Core development (hooks, scripts, data collection)
- claude/review: Code review automation
- claude/verify: Work verification
- claude/qa: Quality assurance loops
- claude/ci: CI/CD integration

Structure:
- .claude-plugin/marketplace.json lists all plugins
- Each plugin has its own .claude-plugin/plugin.json
- Commands namespaced: /code:*, /review:*, /qa:*, etc.

Install individual plugins or all via marketplace:
  claude plugin add host-uk/core-agent
  claude plugin add host-uk/core-agent/claude/code

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 19:44:26 +00:00