MODULO 3.8 - PROJETO FINAL

🏆 Projeto Final: Sistema Completo

Integre todos os conceitos das 3 trilhas para construir um sistema de desenvolvimento assistido por IA completo. CLAUDE.md, Skills, MCP, Hooks, Subagentes e CI/CD trabalhando juntos.

6
Etapas
60
Minutos
Expert
Nivel
Hands-on
Tipo

🎯 O Projeto

Voce vai construir um ambiente de desenvolvimento completo para um projeto TypeScript, com todas as automacoes aprendidas no curso funcionando em harmonia.

📝

Trilha 1

CLAUDE.md otimizado, gerenciamento de contexto

🔧

Trilha 2

Ferramentas, comandos, fluxo Gather-Act-Verify

🚀

Trilha 3

Skills, MCP, Hooks, Subagentes, CI/CD

1

📁 Setup do Projeto

Primeiro, vamos criar a estrutura base do projeto e configurar o CLAUDE.md otimizado que servira como memoria do projeto.

Estrutura do Projeto

projeto-final/
├── .claude/
│   ├── skills/
│   │   ├── review.md
│   │   ├── test.md
│   │   └── deploy.md
│   ├── agents/
│   │   ├── code-reviewer.md
│   │   ├── test-generator.md
│   │   └── security-auditor.md
│   └── hooks/
│       ├── pre-edit.sh
│       └── post-edit.sh
├── .github/
│   └── workflows/
│       └── claude-ci.yml
├── src/
│   └── ...
├── tests/
│   └── ...
├── CLAUDE.md
└── package.json

CLAUDE.md do Projeto

# CLAUDE.md - Projeto Final

## Visao Geral
API RESTful em TypeScript com autenticacao JWT, CRUD de usuarios e integracao com banco PostgreSQL.

## Stack
- Runtime: Node.js 20
- Framework: Express + TypeScript
- ORM: Prisma
- Database: PostgreSQL
- Auth: JWT + bcrypt
- Tests: Jest + Supertest

## Estrutura
```
src/
├── controllers/   # Handlers de rotas
├── services/      # Logica de negocio
├── repositories/  # Acesso a dados
├── middlewares/   # Auth, validation
├── types/         # TypeScript types
└── utils/         # Helpers
```

## Convencoes
- Controllers: PascalCase + "Controller" (UserController)
- Services: PascalCase + "Service" (AuthService)
- Testes: mesmo nome + .test.ts
- Commits: Conventional Commits (feat:, fix:, etc)

## Comandos
- `npm run dev` - Desenvolvimento
- `npm run test` - Testes
- `npm run build` - Build
- `npm run lint` - Linting

## Regras
1. NUNCA commitar .env
2. Todas rotas requerem validacao de input
3. Erros devem retornar formato padrao: { error: string, code: string }
4. Cobertura de testes minima: 80%

Atualizado: 2026-01-31

💡 Exercicio

Crie um novo diretorio, inicialize com npm init -y, e crie o CLAUDE.md acima. Execute claude /init para ver as sugestoes de melhoria.

2

⚡ Skills Customizados

Crie os skills que automatizarao as tarefas mais frequentes do projeto.

.claude/skills/review.md

name: Code Review
description: Review de codigo seguindo padroes do projeto

## Checklist Obrigatorio
- [ ] TypeScript strict sem erros
- [ ] Input validation em controllers
- [ ] Error handling padronizado
- [ ] Testes para novos metodos
- [ ] JSDoc em funcoes publicas

## Formato
1. **Score**: X/10
2. **Issues**: Lista priorizada
3. **Sugestoes**: Codigo corrigido

Analise: $ARGUMENTS

.claude/skills/test.md

name: Test Generator
description: Gera testes Jest para o projeto

## Template
```typescript
describe('[Modulo]', () => {
  beforeEach(() => { /* setup */ });
  afterEach(() => { /* cleanup */ });

  describe('[metodo]', () => {
    it('should [esperado] when [condicao]', async () => {
      // Arrange
      // Act
      // Assert
    });
  });
});
```

## Regras
- Mockar Prisma com jest.mock
- Testar happy path E erros
- Cobertura: branches, statements

Gerar testes para: $ARGUMENTS

.claude/skills/deploy.md

name: Deploy Check
description: Validacao pre-deploy

## Etapas
1. Rodar `npm run lint` - sem erros
2. Rodar `npm run test` - 100% passando
3. Rodar `npm run build` - sem erros TS
4. Verificar .env.example atualizado

## Se Passar
Retorne: "✅ PRONTO PARA DEPLOY"

## Se Falhar
Liste erros e como corrigir.

Ambiente: $ARGUMENTS (staging|production)
3

🤖 Subagentes Especializados

Configure subagentes para tarefas que exigem expertise especifica.

.claude/agents/security-auditor.md

name: Security Auditor
description: Especialista em seguranca para APIs Node.js

## System Prompt
Voce e um especialista em seguranca de APIs com foco em:
- OWASP Top 10
- Seguranca de autenticacao JWT
- Validacao de input
- SQL Injection / NoSQL Injection
- Rate limiting e DDoS

## Checklist Especifico
### Autenticacao
- [ ] Tokens JWT com expiracao curta
- [ ] Refresh tokens implementados
- [ ] Senhas hasheadas com bcrypt (cost >= 10)

### Input
- [ ] Validacao com Zod/Joi em todas rotas
- [ ] Sanitizacao de strings
- [ ] Limite de tamanho de payload

### Database
- [ ] Queries parametrizadas (Prisma e seguro por padrao)
- [ ] Indices para prevenir scans lentos

## Output
```json
{
  "risk_level": "low|medium|high|critical",
  "findings": [...],
  "recommendations": [...]
}
```

Uso dos Subagentes

Voce pede:

"Use security-auditor para auditar src/controllers/AuthController.ts"

Claude delega:

Subagente security-auditor analisa com foco em OWASP

4

🪝 Hooks de Automacao

Configure hooks para automatizar validacoes e notificacoes.

.claude/settings.json (Configuracao de Hooks)

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [{"type": "command", "command": "./scripts/validate-edit.sh"}]
      }
    ],
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [{"type": "command", "command": "./scripts/format-and-stage.sh"}]
      }
    ]
  }
}

scripts/validate-edit.sh (PreToolUse)

#!/bin/bash
INPUT=$(cat)
FILE_PATH=$(echo "$INPUT" | jq -r '.tool_input.file_path // empty')

PROTECTED=(".env" "package-lock.json")

for pattern in "${PROTECTED[@]}"; do
  if [[ "$FILE_PATH" == *"$pattern"* ]]; then
    echo "PROTEGIDO: $FILE_PATH" >&2
    exit 2  # Bloqueia
  fi
done

# Backup automatico
if [ -f "$FILE_PATH" ]; then
  mkdir -p "$CLAUDE_PROJECT_DIR/.claude/backups"
  cp "$FILE_PATH" "$CLAUDE_PROJECT_DIR/.claude/backups/$(basename $FILE_PATH).$(date +%s).bak"
fi

exit 0

scripts/format-and-stage.sh (PostToolUse)

#!/bin/bash
INPUT=$(cat)
FILE_PATH=$(echo "$INPUT" | jq -r '.tool_input.file_path // empty')

# Formatar TypeScript
if [[ "$FILE_PATH" =~ \.tsx?$ ]]; then
  npx prettier --write "$FILE_PATH" 2>/dev/null
fi

# Auto-stage
if git rev-parse --git-dir > /dev/null 2>&1; then
  git add "$FILE_PATH"
fi

# Log
echo "$(date): $FILE_PATH" >> "$CLAUDE_PROJECT_DIR/.claude/activity.log"

💡 Importante

Torne os scripts executaveis com chmod +x scripts/*.sh e instale jq para parsing JSON.

5

🔄 CI/CD Pipeline

Configure o pipeline que integra Claude no fluxo de Pull Requests.

.github/workflows/claude-ci.yml (Action Oficial)

name: Claude CI

on:
  pull_request:
    types: [opened, synchronize]
  issue_comment:
    types: [created]

jobs:
  lint-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: '20' }
      - run: npm ci
      - run: npm run lint
      - run: npm run test -- --coverage

  claude-review:
    runs-on: ubuntu-latest
    needs: lint-test
    permissions:
      contents: read
      pull-requests: write
      issues: write

    steps:
      - uses: actions/checkout@v4
        with: { fetch-depth: 0 }

      - name: Claude Code Action
        uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
          prompt: |
            Faca code review deste PR.
            Analise as mudancas e forneca:
            ## Score: X/10
            ## Issues Encontradas
            ## Sugestoes de Melhoria
            ## Aprovado: Sim/Nao
6

🎯 Testando o Sistema

Execute este checklist para validar que tudo funciona corretamente.

Checklist de Validacao

🎉 Parabens!

Se todos os itens passaram, voce construiu um sistema completo de desenvolvimento assistido por IA. Este setup pode ser replicado em qualquer projeto da sua empresa.

3
Trilhas Dominadas
24
Modulos Concluidos
1
Sistema Completo

🏆 Conclusao do Curso

Voce completou o curso Claude Code 2026! Agora voce domina:

Trilha 1: Fundamentos

  • • Arquitetura do Claude Code
  • • Loop Gather-Act-Verify
  • • Gerenciamento de contexto
  • • Compaction e sessoes

Trilha 2: Comandos

  • • Ferramentas Read/Write/Edit
  • • Glob e Grep
  • • Bash e automacao
  • • Comandos slash

Trilha 3: Avancado

  • • CLAUDE.md otimizado
  • • Skills e MCP
  • • Hooks e Subagentes
  • • CI/CD automatizado

Proximos Passos

  • 1. Aplique o sistema completo em um projeto real da sua empresa
  • 2. Crie skills customizados para os fluxos especificos do seu time
  • 3. Compartilhe conhecimento - ensine colegas sobre Claude Code
  • 4. Acompanhe atualizacoes - o Claude Code evolui constantemente