Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 2 additions & 28 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,40 +6,14 @@
},
"metadata": {
"description": "Skills para desenvolvimento Laravel, gestão de projetos e automação GitHub",
"version": "4.0.0"
"version": "5.0.0"
},
"plugins": [
{
"name": "laravel-toolkit",
"description": "Skills para desenvolvimento Laravel, qualidade, testes, gestão de projetos, CI/CD e workflow Git",
"source": "./",
"strict": false,
"skills": [
"./skills/actions",
"./skills/architecture",
"./skills/cicd",
"./skills/codebase",
"./skills/coder",
"./skills/docs",
"./skills/enums",
"./skills/exceptions",
"./skills/i18n",
"./skills/issues",
"./skills/mcp",
"./skills/models",
"./skills/planner",
"./skills/pr-review",
"./skills/qa",
"./skills/realtime",
"./skills/roadmap",
"./skills/spec",
"./skills/sprint",
"./skills/standards",
"./skills/testing",
"./skills/ui-ux",
"./skills/ux",
"./skills/workflow"
]
"strict": false
}
]
}
9 changes: 9 additions & 0 deletions .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"name": "laravel-toolkit",
"description": "Skills para desenvolvimento Laravel, qualidade, testes, gestão de projetos, CI/CD e workflow Git",
"version": "5.0.0",
"author": {
"name": "Aron PC",
"email": "contato@aronpc.com.br"
}
}
49 changes: 49 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Validate plugin

on:
push:
branches: [main]
pull_request:
workflow_dispatch:

jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Validar JSON dos manifests
run: |
for f in .claude-plugin/plugin.json .claude-plugin/marketplace.json hooks/hooks.json; do
echo "→ $f"
jq -e . "$f" > /dev/null
done

- name: Coerência de nome (plugin.json vs marketplace.json)
run: |
pj=$(jq -r .name .claude-plugin/plugin.json)
mp=$(jq -r '.plugins[0].name' .claude-plugin/marketplace.json)
test "$pj" = "$mp" || { echo "name diverge: plugin=$pj marketplace=$mp"; exit 1; }
echo "name OK: $pj"

- name: Toda skill tem SKILL.md
run: |
rc=0
for d in skills/*/; do
[ -f "${d}SKILL.md" ] || { echo "FALTA: ${d}SKILL.md"; rc=1; }
done
exit $rc

- name: Sem cross-references obsoletas
run: |
if grep -rnE 'laravel-architecture|laravel-models|laravel-enums|laravel-exceptions|laravel-actions-events|laravel-i18n|laravel-ux|laravel-realtime|laravel-testing-pest|laravel-coding-standards|spec-creation|github-pr-review|github-issue-analysis|git-workflow-laravel|cicd-github-actions|mcp-validation|sprint-management|implementation-planner|roadmap-strategy|codebase-ideation|ui-ux-ideation|qa-validation|documentation-updates|implementation-coder|quick-spec|filament-check-pro|laravel-performance' skills/ ; then
echo "Cross-references obsoletas encontradas — use nomes flat."
exit 1
fi
echo "OK: sem nomes obsoletos."

- name: Sintaxe dos scripts de hook
run: for s in hooks/scripts/*.sh; do bash -n "$s"; done

- name: ShellCheck dos hooks
run: shellcheck -S error hooks/scripts/*.sh
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,6 @@
*.swp
*.swo
*~

# Dumps de prompts gerados por outros projetos (não versionar no plugin)
/prompts.md
52 changes: 52 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Changelog

Todas as mudanças notáveis deste projeto são documentadas aqui.
O formato segue [Keep a Changelog](https://keepachangelog.com/pt-BR/1.1.0/) e o
projeto adere ao [Versionamento Semântico](https://semver.org/lang/pt-BR/).

## [5.0.0] - 2026-06-30

### Added
- `hooks/hooks.json` + 8 scripts shell executáveis em `hooks/scripts/` — antes os hooks eram apenas markdown inerte e nunca disparavam.
- `CLAUDE.md` com instruções para quem contribui no plugin.
- `CHANGELOG.md` e workflow de CI (`.github/workflows/ci.yml`) validando manifests, estrutura e scripts.
- Documentação de intenção dos hooks em `hooks/docs/`.

### Changed
- Manifesto movido para `.claude-plugin/plugin.json`; identidade unificada como `laravel-toolkit`.
- `marketplace.json` sem o array `skills` explícito (auto-descoberta) e com `strict: false`.
- Cross-references entre skills padronizadas para nomes flat (ex.: `architecture`, `testing`).
- Documentação alinhada: namespace de invocação `/laravel-toolkit:`, instalação, compatibilidade (PHP 8.2+, Laravel 11+, Filament 4.x).
- `metadata.version` das 24 skills alinhada ao release.

### Fixed
- `testing`: remove pacote inexistente; usa `pest --parallel` / `php artisan test`.
- `exceptions`: handler em `bootstrap/app.php` (Laravel 11+) e `Log` via import.
- `models`: corrige chave duplicada que impedia a compilação do exemplo.
- `enums`: `Rule::enum` documentado a partir do Laravel 9.23.
- `skill-auto-suggest` (keywords ausentes) e `pre-push-quality-gate` (guarda do `phpstan.neon`).
- Documentação interna: `CLAUDE.md` inexistente, versão divergente, `strict` incorreto e estrutura desatualizada.

### Removed
- 24 command wrappers redundantes que colidiam com as skills no namespace.
- `prompts.md` (dump auto-gerado de outro projeto, ~545 KB) e `scripts/migrate-skills.sh` (stub sem implementação).

## [4.0.0] - 2026-03

### Changed
- Marketplace simplificado para plugin único; command wrappers para autocomplete.

## [3.0.0] - 2026-02

### Changed
- Reestruturação das skills para formato flat (sem namespaces).

## [2.0.0] - 2026-02

### Changed
- Reestruturação semântica com namespaces (revertida na 3.0.0).

## [1.0.0] - 2026-01

### Added
- Primeira versão com as skills iniciais.
20 changes: 9 additions & 11 deletions CHECKPOINT.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,12 @@ qa, docs, coder, codebase, ui-ux
| Agente | Propósito | Skills Orquestradas |
|--------|-----------|---------------------|
| `feature-lifecycle` | Pipeline completo de feature | 14 skills |
| `bugfix` | Investigação e correção de bugs | 7 skills |
| `refactor-safe` | Refatoração com verificação contínua | 7 skills |
| `sprint-executor` | Execução sequencial de tarefas do sprint | 7 skills |
| `pr-guard` | Validação pre-merge adaptativa | 6 skills |
| `bugfix` | Investigação e correção de bugs | 8 skills |
| `refactor-safe` | Refatoração com verificação contínua | 5 skills |
| `sprint-executor` | Execução sequencial de tarefas do sprint | 6 skills |
| `pr-guard` | Validação pre-merge adaptativa | 3 skills |

### Hooks de Guardrails & Automação (8/8)
### Hooks de Guardrails & Automação (8/8) — implementados via hooks/hooks.json + scripts

| Hook | Evento | Tipo |
|------|--------|------|
Expand All @@ -49,10 +49,9 @@ qa, docs, coder, codebase, ui-ux

### Infraestrutura

- Plugin configuration (plugin.json + marketplace.json)
- Command wrappers para autocomplete (24 commands)
- Plugin configuration (`.claude-plugin/plugin.json` + `.claude-plugin/marketplace.json`, strict: false)
- Hooks implementados (hooks/hooks.json + scripts)
- Documentação completa (CLAUDE.md, README.md, INTEGRATION-MAP.md)
- Script de migração para namespaces

### Marcos Recentes

Expand All @@ -70,7 +69,6 @@ qa, docs, coder, codebase, ui-ux
- **Total de Skills:** 24
- **Agentes Autônomos:** 5
- **Hooks:** 8
- **Commands de Autocomplete:** 24
- **Skills com Referências:** 12 (50%)
- **Skills com Scripts:** 1 (enums/make-enum.php)
- **Documentação Auxiliar:** 6 arquivos
Expand All @@ -79,7 +77,7 @@ qa, docs, coder, codebase, ui-ux

## Próximos Passos

- [ ] Reestruturação por namespaces (@laravel/, @github/, etc.) - ver RESTRUCTURE-PLAN.md
- [ ] Reintegrar skill filament-check-pro
- [x] Namespaces: decidido NÃO adotar — skills permanecem flat (RESTRUCTURE-PLAN.md mantido como histórico)
- [x] Filament: decidido NÃO reintegrar filament-check-pro — usar a skill nativa do Laravel Boost (Filament 4.x)
- [ ] Adicionar mais scripts executáveis às skills que precisam
- [ ] Expandir referências para skills sem documentação adicional
44 changes: 44 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# CLAUDE.md — laravel-toolkit plugin

Instruções para agentes AI que trabalham **neste repositório** (o plugin em si, não os projetos-alvo das skills).

## O que é este repositório

Plugin do Claude Code distribuído via marketplace `aronpc-skills`. Contém **24 skills**, **5 agentes autônomos** e **8 hooks** para desenvolvimento Laravel. O nome do plugin é `laravel-toolkit`; a invocação das skills é `/laravel-toolkit:<skill>`.

## Estrutura

```text
.claude-plugin/
plugin.json # Manifesto do plugin (name: laravel-toolkit, version: 5.0.0)
marketplace.json # Manifesto do marketplace (name: aronpc-skills, strict: false)
skills/<nome>/
SKILL.md # Obrigatório — documentação principal da skill
references/ # Opcional — documentação de referência adicional
agents/ # Definições dos 5 agentes autônomos
hooks/ # hooks.json + scripts dos 8 hooks
```

## Convenções

- **Idioma:** todas as skills, agentes e hooks são escritos em PT-BR.
- **Frontmatter mínimo:** cada `SKILL.md` deve ter ao menos `name` e `description`.
- **Nomes flat sem prefixo:** use `architecture`, não `laravel-architecture`. O namespace já é dado pelo plugin (`laravel-toolkit:`).
- **Invocação:** `/laravel-toolkit:<skill>` — ex.: `/laravel-toolkit:architecture`.
- **Matriz de compatibilidade padrão:** PHP 8.2+, Laravel 11+. Declare explicitamente quando diferente.
- **Filament:** referenciar Filament 4.x (não Filament 5).

## Como adicionar uma skill nova

1. Criar diretório `skills/<nome>/`.
2. Criar `skills/<nome>/SKILL.md` com frontmatter `name` + `description` e o conteúdo da skill.
3. Adicionar `"./skills/<nome>"` à lista `skills` em `.claude-plugin/marketplace.json`.
4. A auto-descoberta do marketplace reconhece a skill na próxima instalação.

## Regras

- Não versionar dumps externos ou artefatos gerados por outros projetos (ex.: `prompts.md` de projetos-alvo).
- Não modificar `phpstan.neon` (regra global do workspace).
- Após qualquer mudança estrutural, manter **README.md**, **IMPLEMENTATION.md** e **CHECKPOINT.md** sincronizados com a realidade.
- Hooks vivem em `hooks/hooks.json` + scripts — não apenas como markdown descritivo.
- Instalação do plugin: `/plugin marketplace add aronpc/ai` seguido de `/plugin install laravel-toolkit@aronpc-skills`.
Loading
Loading