算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
senior-architect【设计与创意】Esta skill deve ser usada quando o usuário pedir para 'design system architecture', 'evaluate microsserviços vs monólito', 'create architecture diagrams', 'analyze dependências', 'choose a database', 'plan for escalabilidade', 'make technical decisions', or 'review system design'. Use para registros de decisão arquitetural (ADRs), avaliação de stack …
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
name: "senior-architect" description: "Esta skill deve ser usada quando o usuário pedir para 'design system architecture', 'evaluate microsserviços vs monólito', 'create architecture diagrams', 'analyze dependências', 'choose a database', 'plan for escalabilidade', 'make technical decisions', or 'review system design'. Use para registros de decisão arquitetural (ADRs), avaliação de stack tecnológico, revisões de design de sistema, análise de dependências e geração de diagramas de arquitetura nos formatos Mermaid, PlantUML ou ASCII." agents:
Ferramentas de design e análise de arquitetura para tomada de decisões técnicas bem embasadas.
# Gerar diagrama de arquitetura a partir do projeto
python scripts/architecture_diagram_generator.py ./my-project --format mermaid
# Analisar dependências para problemas
python scripts/dependency_analyzer.py ./my-project --output json
# Obter avaliação de arquitetura
python scripts/project_architect.py ./my-project --verbose
Gera diagramas de arquitetura a partir da estrutura do projeto em múltiplos formatos.
Resolve: "Preciso visualizar a arquitetura do sistema para documentação ou discussão em equipe"
Entrada: Caminho do diretório do projeto Saída: Código do diagrama (Mermaid, PlantUML ou ASCII)
Tipos de diagrama suportados:
component - Mostra os módulos e seus relacionamentoslayer - Mostra as camadas arquiteturais (apresentação, negócio, dados)deployment - Mostra a topologia de implantaçãoUso:
# Formato Mermaid (padrão)
python scripts/architecture_diagram_generator.py ./project --format mermaid --type component
# Formato PlantUML
python scripts/architecture_diagram_generator.py ./project --format plantuml --type layer
# Formato ASCII (amigável ao terminal)
python scripts/architecture_diagram_generator.py ./project --format ascii
# Salvar em arquivo
python scripts/architecture_diagram_generator.py ./project -o architecture.md
Exemplo de saída (Mermaid):
graph TD
A[API Gateway] --> B[Auth Service]
A --> C[User Service]
B --> D[(PostgreSQL)]
C --> D
Analisa dependências do projeto para acoplamento, dependências circulares e pacotes desatualizados.
Resolve: "Preciso entender minha árvore de dependências e identificar possíveis problemas"
Entrada: Caminho do diretório do projeto Saída: Relatório de análise (JSON ou legível por humanos)
Analisa:
Gerenciadores de pacotes suportados:
package.json)requirements.txt, pyproject.toml)go.mod)Cargo.toml)Uso:
# Relatório legível por humanos
python scripts/dependency_analyzer.py ./project
# Saída JSON para integração CI/CD
python scripts/dependency_analyzer.py ./project --output json
# Verificar apenas dependências circulares
python scripts/dependency_analyzer.py ./project --check circular
# Modo verboso com recomendações
python scripts/dependency_analyzer.py ./project --verbose
Exemplo de saída:
Relatório de Análise de Dependências
=====================================
Total de dependências: 47 (32 diretas, 15 transitivas)
Pontuação de acoplamento: 72/100 (moderado)
Problemas encontrados:
- CIRCULAR: auth → user → permissions → auth
- DESATUALIZADO: lodash 4.17.15 → 4.17.21 (segurança)
Recomendações:
1. Extrair interface compartilhada para quebrar dependência circular
2. Atualizar lodash para corrigir CVE-2020-8203
Analisa a estrutura do projeto e detecta padrões arquiteturais, code smells e oportunidades de melhoria.
Resolve: "Quero entender a arquitetura atual e identificar oportunidades de melhoria"
Entrada: Caminho do diretório do projeto Saída: Relatório de avaliação de arquitetura
Detecta:
Uso:
# Avaliação completa
python scripts/project_architect.py ./project
# Verboso com recomendações detalhadas
python scripts/project_architect.py ./project --verbose
# Saída JSON
python scripts/project_architect.py ./project --output json
# Verificar aspecto específico
python scripts/project_architect.py ./project --check layers
Exemplo de saída:
Avaliação de Arquitetura
========================
Padrão detectado: Arquitetura em Camadas (confiança: 85%)
Análise da estrutura:
✓ controllers/ - Camada de apresentação detectada
✓ services/ - Camada de lógica de negócio detectada
✓ repositories/ - Camada de acesso a dados detectada
⚠ models/ - Modelos de domínio e DTOs misturados
Problemas:
- ARQUIVO GRANDE: UserService.ts (1.847 linhas) - considere dividir
- CONCERNS MISTURADOS: PaymentController contém lógica de negócio
Recomendações:
1. Dividir UserService em serviços focados
2. Mover lógica de negócio dos controllers para services
3. Separar modelos de domínio dos DTOs
Use quando escolher um banco de dados para um novo projeto ou migrar dados existentes.
Passo 1: Identificar características dos dados
| Característica | Aponta para SQL | Aponta para NoSQL |
|---|---|---|
| Estruturado com relacionamentos | ✓ | |
| Transações ACID necessárias | ✓ | |
| Schema flexível/evolutivo | ✓ | |
| Dados orientados a documentos | ✓ | |
| Dados de séries temporais | ✓ (especializado) |
Passo 2: Avaliar requisitos de escala
100M registros, distribuição global → CockroachDB, Spanner ou DynamoDB
Passo 3: Verificar requisitos de consistência
Passo 4: Documentar a decisão Criar um ADR (Registro de Decisão Arquitetural) com:
Referência rápida:
PostgreSQL → Escolha padrão para a maioria das aplicações
MongoDB → Armazenamento de documentos, schema flexível
Redis → Cache, sessões, funcionalidades em tempo real
DynamoDB → Serverless, auto-scaling, nativo AWS
TimescaleDB → Dados de séries temporais com interface SQL
Use quando projetar um novo sistema ou refatorar uma arquitetura existente.
Passo 1: Avaliar o tamanho do time e do projeto
| Tamanho do Time | Ponto de Partida Recomendado |
|---|---|
| 1-3 desenvolvedores | Monólito modular |
| 4-10 desenvolvedores | Monólito modular ou orientado a serviços |
| 10+ desenvolvedores | Considerar microsserviços |
Passo 2: Avaliar requisitos de implantação
Passo 3: Considerar limites de dados
Passo 4: Corresponder o padrão aos requisitos
| Requisito | Padrão Recomendado |
|---|---|
| Desenvolvimento rápido de MVP | Monólito Modular |
| Implantação independente por time | Microsserviços |
| Lógica de domínio complexa | Domain-Driven Design |
| Grande diferença na proporção leitura/escrita | CQRS |
| Trilha de auditoria necessária | Event Sourcing |
| Integrações com terceiros | Hexagonal/Ports & Adapters |
Veja references/architecture_patterns.md para descrições detalhadas dos padrões.
Escolha Monólito quando:
Escolha Microsserviços quando:
Abordagem híbrida: Comece com um monólito modular. Extraia serviços apenas quando:
Carregue estes arquivos para informações detalhadas:
| Arquivo | Contém | Carregar quando o usuário perguntar sobre |
|---|---|---|
references/architecture_patterns.md | 9 padrões de arquitetura com trade-offs, exemplos de código e quando usar | "qual padrão?", "microsserviços vs monólito", "orientado a eventos", "CQRS" |
references/system_design_workflows.md | 6 fluxos de trabalho passo a passo para tarefas de design de sistema | "como projetar?", "planejamento de capacidade", "design de API", "migração" |
references/tech_decision_guide.md | Matrizes de decisão para escolhas tecnológicas | "qual banco de dados?", "qual framework?", "qual nuvem?", "qual cache?" |
Linguagens: TypeScript, JavaScript, Python, Go, Swift, Kotlin, Rust Frontend: React, Next.js, Vue, Angular, React Native, Flutter Backend: Node.js, Express, FastAPI, Go, GraphQL, REST Bancos de Dados: PostgreSQL, MySQL, MongoDB, Redis, DynamoDB, Cassandra Infraestrutura: Docker, Kubernetes, Terraform, AWS, GCP, Azure CI/CD: GitHub Actions, GitLab CI, CircleCI, Jenkins
# Visualização de arquitetura
python scripts/architecture_diagram_generator.py . --format mermaid
python scripts/architecture_diagram_generator.py . --format plantuml
python scripts/architecture_diagram_generator.py . --format ascii
# Análise de dependências
python scripts/dependency_analyzer.py . --verbose
python scripts/dependency_analyzer.py . --check circular
python scripts/dependency_analyzer.py . --output json
# Avaliação de arquitetura
python scripts/project_architect.py . --verbose
python scripts/project_architect.py . --check layers
python scripts/project_architect.py . --output json
--help para informações de uso--verbose para explicações e recomendações detalhadas