O que claude-fdl faz?
Defina funcionalidades de software como blueprints YAML — extraia padrões de qualquer base de código, documentação de API ou documento. Gere implementações completas para qualquer framework. 16 blueprints prontos para produção incluídos.
O que é
claude-fdl é um skill para agentes de IA (como Claude Code, Cursor, Codex) que permite definir funcionalidades de software como blueprints YAML. Você pode extrair padrões de qualquer base de código existente, documentação de API ou até documentos de requisitos, e gerar implementações completas para qualquer framework.
Como funciona
- Crie um blueprint YAML descrevendo a funcionalidade desejada.
- Extraia padrões de código existente, docs de API ou documentos de requisitos.
- Gere implementações completas para o framework de sua escolha.
Blueprints incluídos
O skill vem com 16 blueprints prontos para produção, incluindo:
- Autenticação (JWT, OAuth2, sessão)
- Logging estruturado
- Tratamento de erros centralizado
- Validação de entrada
- Paginação
- Cache
- Filas e tarefas assíncronas
- Separação em módulos
- Testes unitários e de integração
- Pipelines CI/CD
- Dockerização
- Documentação de API (Swagger/OpenAPI)
- Configuração de banco de dados (SQL e NoSQL)
- Segurança (CSRF, CORS, Rate limiting)
- Monitoramento e métricas
- Microsserviços básicos
Como usar
Instalação
Adicione o skill ao seu agente de IA:
# Exemplo para Claude Code
claude add-skill TheunsBarnardt/claude-fdl
Exemplo de blueprint YAML
# auth_blueprint.yaml
feature: Autenticação JWT
framework: Express.js
patterns:
- type: middleware
name: authMiddleware
description: Middleware de autenticação JWT
code: |
const jwt = require('jsonwebtoken');
module.exports = (req, res, next) => {
const token = req.headers.authorization?.split(' ')[1];
if (!token) return res.status(401).json({ error: 'Token ausente' });
try {
req.user = jwt.verify(token, process.env.JWT_SECRET);
next();
} catch (err) {
return res.status(403).json({ error: 'Token inválido' });
}
};
- type: route
name: loginRoute
description: Rota de login
code: |
const jwt = require('jsonwebtoken');
router.post('/login', async (req, res) => {
const { username, password } = req.body;
const user = await User.findOne({ username });
if (!user || !(await bcrypt.compare(password, user.password))) {
return res.status(401).json({ error: 'Credenciais inválidas' });
}
const token = jwt.sign({ userId: user.id }, process.env.JWT_SECRET, { expiresIn: '1h' });
res.json({ token });
});
Comandos principais
/fdl-extract <caminho>: Extrai padrões de um código, API ou documento./fdl-generate <blueprint.yaml>: Gera implementação completa a partir de um blueprint./fdl-list: Lista os blueprints disponíveis./fdl-help: Ajuda detalhada.
Suporte a frameworks
- Node.js: Express, Fastify, NestJS
- Python: Flask, Django, FastAPI
- Java: Spring Boot, Micronaut
- Go: Gin, Echo
- Ruby: Rails, Sinatra
- PHP: Laravel, Symfony
Exemplo de uso com Claude Code
Usuário: Quero adicionar autenticação JWT ao meu projeto Express.
Claude: Vou usar o blueprint de autenticação JWT. Aqui está a implementação:
1. Instale as dependências: `npm install jsonwebtoken bcrypt`
2. Crie o middleware de autenticação (conforme blueprint)
3. Crie a rota de login (conforme blueprint)
4. Adicione as variáveis de ambiente necessárias
Deseja que eu gere o código completo?
Licença
MIT