sdd-layer 0.15.3

Spec-Driven Development CLI and agent harness
# Empacotamento e layout limpo

O modo recomendado para projetos existentes é o layout `compact`.

## Raiz mínima

Ficam na raiz somente arquivos que Claude/Codex precisam descobrir ou que pertencem ao projeto:

```text
AGENTS.md
CLAUDE.md
sdd.config.yaml
.agents/
.claude/
.codex/
docs/<orquestracao>/        # artefatos gerados por feature
.github/workflows/...       # opcional, somente com --with-ci
```

## Pacote reutilizável

Todo suporte da camada fica isolado em:

```text
.sdd/
├── adapters/
├── docs/
├── examples/       # opcional, somente com --with-examples
├── presets/
├── schemas/
├── templates/
├── tests/          # opcional, somente com --with-ci
├── VERSION
├── CHANGELOG.md
└── sdd.config.example.yaml
```

Recursos canônicos distribuídos junto com a camada:

- `templates/skill-catalog.yaml`: catálogo híbrido de skills.
- `templates/workflows/*.yaml`: workflows determinísticos embutidos.
- `plugins/orchestration/skills/`: skills empacotadas no plugin SDD.
- `.agents/skills/`: fonte local preferencial de skills independentes e stack-specific.

## CLI

Use a CLI instalada:

```bash
sdd init
sdd doctor
sdd init "minha-orquestracao"
sdd validate-artifact prd docs/minha-orquestracao/02-prd.md
sdd skills doctor --strict
sdd workflow validate standard-sdd --json
sdd risk "alterar login com permissões"
sdd ci
```

## Instalação

```bash
sdd init --root /caminho/do/projeto
sdd install /caminho/do/projeto --preset generic
```

Para layout antigo:

```bash
sdd install /caminho/do/projeto --preset generic --layout flat
```

Use `flat` apenas quando um projeto já depender de `schemas/`, `templates/`, `adapters/` ou `presets/` na raiz.

## Checklist de distribuição

Antes de publicar uma nova versão da camada:

```bash
cargo fmt --check
cargo clippy --all-targets --all-features
cargo test
sdd skills doctor --strict
sdd workflow validate standard-sdd --json
sdd workflow validate deep-execution-review --json
sdd workflow validate discovery-skill-hardening --json
sdd workflow validate bugfix-diagnostic-loop --json
sdd capabilities doctor --targets all
```

Se adicionar uma skill nova, registre em `templates/skill-catalog.yaml`, valide o `SKILL.md` e confirme se ela precisa de mirror em `plugins/orchestration/skills/`. Se adicionar um workflow, documente o uso em `docs/WORKFLOWS.md` e garanta que qualquer loop tenha `max_iterations`.