npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@godrix/flow

v1.11.2

Published

Context-Driven Development CLI: Create structured task contexts with AI-optimized templates for efficient software development workflow

Readme

@godrix/flow

Context-Driven Development: Estrutura Inteligente para Desenvolvimento com IA

O @godrix/flow implementa uma metodologia de desenvolvimento baseada em contexto que estrutura cada tarefa em três fases distintas: Requisitos (Business Context), Design (Approach), e Implementação (Completion Report). Este processo garante alinhamento, rastreabilidade e foco constante na entrega de valor.

Este workflow cria um ecossistema onde humanos e IA podem colaborar com precisão e propósito.

🎯 Princípios Fundamentais

A - Approach: O Blueprint Técnico Imutável

Uma vez que os requisitos estão claros, um plano técnico sólido é criado. O APPROACH.md serve como o blueprint de engenharia. Ele detalha a arquitetura, design e um plano de implementação definido. Este documento é nossa referência; não muda durante a execução, garantindo que o plano permaneça como fonte única da verdade.

B - Business Context: Definindo o "Porquê" com Precisão

Toda tarefa começa com uma compreensão profunda de seu propósito. O arquivo BUSINESS_CONTEXT.md é nossa fonte de verdade para requisitos, usando uma estrutura simplificada e IA-friendly com tags delimitadas para criar especificações comportamentais que são claras, testáveis e compreendidas por todos.

C - Completion Report: A Evidência do Trabalho Realizado

O progresso deve ser documentado. O COMPLETION_REPORT.md é o registro formal e cronológico do trabalho realizado. Ele conecta as ações tomadas de volta às tarefas planejadas, documenta desvios e serve como prova final de que os objetivos no BUSINESS_CONTEXT.md foram atendidos.

📊 Fluxo do Processo Flow

flowchart TD
    A[🚀 Início do Projeto] --> B[📋 Criar Task]
    B --> C[📝 BUSINESS_CONTEXT.md]
    C --> D[🎯 Definir Requisitos]
    D --> E[📐 APPROACH.md]
    E --> F[🏗️ Planejamento Técnico]
    F --> G[⚡ Implementação]
    G --> H[📊 COMPLETION_REPORT.md]
    H --> I{✅ Objetivos<br/>Alcançados?}
    I -->|Sim| J[🎉 Task Concluída]
    I -->|Não| K[🔄 Revisar APPROACH]
    K --> F
    
    subgraph "📁 Estrutura de Arquivos"
        L[PROJECT_CONTEXT.md<br/>Contexto Global]
        M[AGENTS.md<br/>Instruções para IA]
        N[.flow/<br/>Diretório do Projeto]
    end
    
    subgraph "🤖 Ferramentas MCP"
        O[create_task<br/>Criar Tasks]
        P[generate_business_context<br/>Gerar Contexto]
        Q[generate_approach<br/>Gerar Plano]
        R[generate_completion_report<br/>Gerar Relatório]
        S[add_tech_instruction<br/>Adicionar Instruções]
    end
    
    B -.-> O
    C -.-> P
    E -.-> Q
    H -.-> R
    M -.-> S
    
    style A fill:#e1f5fe
    style J fill:#c8e6c9
    style I fill:#fff3e0
    style K fill:#ffecb3

🚀 Instalação

npm install -g @godrix/flow

💻 Uso

Comandos Básicos

# Criar uma task (com geração automática de conteúdo)
npx @godrix/flow <nome-da-tarefa>

# Criar uma task com tipo específico
npx @godrix/flow FEATURE_AUTH --type feature
npx @godrix/flow BUG_LOGIN_ISSUE --type bug
npx @godrix/flow IMPROVE_PERFORMANCE --type improvement
npx @godrix/flow RESEARCH_AI_INTEGRATION --type research

# Criar task com templates tradicionais (sem geração automática)
npx @godrix/flow FEATURE_AUTH --type feature --no-auto-generate

# Listar todas as tasks
npx @godrix/flow list

# Validar estrutura de uma task
npx @godrix/flow validate FEATURE_AUTH

# Inicializar projeto Flow
npx @godrix/flow init --name "Meu Projeto" --mission "Resolver problema X"

# Iniciar servidor MCP para integração com IA
npx @godrix/flow mcp

Exemplos

# Criar uma tarefa com nome task-1234
npx @godrix/flow task-1234

# Criar uma tarefa de feature
npx @godrix/flow FEATURE_AUTH --type feature

# Criar uma tarefa de correção de bug
npx @godrix/flow BUG_LOGIN_ISSUE --type bug

# Criar uma tarefa de melhoria
npx @godrix/flow IMPROVE_PERFORMANCE --type improvement

📁 Estrutura Criada

O comando cria uma estrutura organizada no diretório atual:

Arquivos Globais

  • AGENTS.md - Instruções para IA (criado na raiz do projeto por padrão)
  • .flow/PROJECT_CONTEXT.md - Contexto do projeto (criado na primeira execução)

Pasta da Tarefa (.flow/XX_nome-da-tarefa)

  • APPROACH.md - O blueprint técnico imutável
  • BUSINESS_CONTEXT.md - Os requisitos de negócio e critérios de aceitação
  • COMPLETION_REPORT.md - O relatório formal do trabalho realizado

🏗️ Estrutura de Pastas

seu-projeto/
├── AGENTS.md                           # Arquivo global - instruções para IA (raiz)
└── .flow/
    ├── PROJECT_CONTEXT.md              # Arquivo global - contexto do projeto
    ├── 00_task-1234/                  # Tarefa específica
    │   ├── APPROACH.md
    │   ├── BUSINESS_CONTEXT.md
    │   └── COMPLETION_REPORT.md
    ├── 01_FEATURE_AUTH/                # Outra tarefa
    │   ├── APPROACH.md
    │   ├── BUSINESS_CONTEXT.md
    │   └── COMPLETION_REPORT.md
    └── 02_BUG_LOGIN_ISSUE/             # Mais uma tarefa
        ├── APPROACH.md
        ├── BUSINESS_CONTEXT.md
        └── COMPLETION_REPORT.md

🔄 Fluxo de Desenvolvimento

1. Isolamento por Tarefa

Cada XX_nome-da-tarefa representa uma tarefa específica e isolada. A IA trabalha APENAS com os arquivos da tarefa atual, ignorando outras tarefas existentes, a menos que explicitamente referenciadas.

2. Context-Driven Development

  • Contexto Global: PROJECT_CONTEXT.md fornece contexto geral do projeto
  • Contexto Específico: Cada tarefa tem seu próprio contexto isolado
  • Rastreabilidade: Todas as ações são documentadas e rastreáveis

3. Metodologia ABC

  • Approach: Plano técnico imutável
  • Business Context: Requisitos funcionais claros
  • Completion Report: Evidência do trabalho realizado

🤖 Integração com IA

🎯 Geração Automática de Conteúdo

O Flow agora gera automaticamente conteúdo inteligente para todos os arquivos de task:

  • Conteúdo Contextualizado: Baseado no nome da task, descrição e tipo
  • Templates IA-Friendly: Estrutura com tags delimitadas para fácil compreensão
  • Preenchimento Inteligente: Parâmetros específicos preenchem tags correspondentes
  • Flexibilidade: Use geração automática ou templates tradicionais

🚀 MCP Integration (Model Context Protocol)

O Flow implementa um servidor MCP que permite integração direta com assistentes de IA:

Ferramentas Disponíveis via MCP:

Fase 1 - Core Features:

  • init_flow_project: Inicializar novo projeto Flow
  • create_task: Criar tasks com templates estruturados
  • list_tasks: Listar todas as tasks do projeto
  • validate_task: Validar estrutura de tasks específicas
  • get_task_info: Obter informações detalhadas de tasks
  • get_project_status: Estatísticas gerais do projeto
  • customize_agents: Personalizar AGENTS.md automaticamente baseado na análise do projeto
  • add_tech_instruction: Adicionar instruções técnicas personalizadas nas seções de desenvolvimento e PR

Fase 2 - AI Integration:

  • generate_business_context: Gerar BUSINESS_CONTEXT.md com preenchimento automático de tags
  • generate_approach: Gerar APPROACH.md baseado no contexto
  • generate_completion_report: Gerar COMPLETION_REPORT.md automaticamente
  • analyze_codebase: Analisar estrutura e dependências do projeto
  • update_project_context: Atualizar PROJECT_CONTEXT.md com novas informações

Parâmetros Específicos para generate_business_context:

{
  taskName: string,           // Nome da task
  description: string,        // Descrição geral
  
  // Tags específicas (opcionais):
  context: string,            // → <context>
  businessValue: string,      // → <business_value>
  validationRules: string,     // → <validation_rules>
  businessLogic: string,       // → <business_logic>
  dataConstraints: string,      // → <data_constraints>
  positiveScenario: string,     // → <positive_scenario>
  negativeScenario: string,     // → <negative_scenario>
  edgeCaseScenario: string,     // → <edge_case_scenario>
  functionalCriteria: string,   // → <functional_criteria>
  nonFunctionalCriteria: string, // → <non_functional_criteria>
  apiEndpoints: string,       // → <api_endpoints>
  externalServices: string,    // → <external_services>
  loggingRequirements: string, // → <logging_requirements>
  analyticsRequirements: string, // → <analytics_requirements>
  
  // Metadados:
  priority: string,           // → {{PRIORITY}}
  estimate: string,           // → {{ESTIMATE}}
  stakeholder: string,         // → {{STAKEHOLDER}}
  deadline: string,           // → {{DEADLINE}}
  responsible: string,         // → {{RESPONSIBLE}}
}

Configuração Rápida:

{
  "mcpServers": {
    "flow": {
      "command": "npx",
      "args": ["@godrix/flow", "mcp"]
    }
  }
}

Exemplo de Workflow Completo com IA:

Para Novos Projetos:

1. IA: "Inicialize um novo projeto Flow para e-commerce"
   → init_flow_project() - Cria estrutura completa

2. IA: "Crie uma task para implementar autenticação"
   → create_task("FEATURE_AUTH", "feature") - Cria estrutura

3. IA: "Gere o BUSINESS_CONTEXT baseado na descrição"
   → generate_business_context() - Cria requisitos estruturados

4. IA: "Gere o APPROACH baseado no contexto"
   → generate_approach() - Cria plano técnico

5. IA: "Após implementar, gere o COMPLETION_REPORT"
   → generate_completion_report() - Documenta conclusão

6. IA: "Valide a qualidade da task"
   → validate_task() - Verifica estrutura

Para Projetos Existentes:

1. IA: "Analise o codebase do projeto"
   → analyze_codebase() - Entende estrutura e tecnologias

2. IA: "Atualize o contexto do projeto com as tecnologias encontradas"
   → update_project_context() - Mantém contexto global atualizado

3. IA: "Crie uma task para implementar autenticação"
   → create_task("FEATURE_AUTH", "feature") - Cria estrutura

4. IA: "Gere o BUSINESS_CONTEXT baseado na descrição"
   → generate_business_context() - Cria requisitos estruturados

5. IA: "Gere o APPROACH baseado no contexto"
   → generate_approach() - Cria plano técnico

6. IA: "Após implementar, gere o COMPLETION_REPORT"
   → generate_completion_report() - Documenta conclusão

7. IA: "Valide a qualidade da task"
   → validate_task() - Verifica estrutura

Benefícios da Integração MCP:

  • Automação completa do ciclo de desenvolvimento
  • Documentação automática de alta qualidade
  • Análise inteligente do codebase
  • Templates personalizados baseados em contexto
  • Validação automática de qualidade

Templates Otimizados para IA

  • Prompts estruturados seguindo melhores práticas
  • Contexto claro para cada tipo de arquivo
  • Instruções específicas para diferentes cenários
  • Rastreabilidade completa de todas as ações

Boas Práticas Implementadas

  • Role-based prompts com contexto específico
  • Constraints claras sobre permissões de arquivos
  • Examples práticos para diferentes situações
  • Quality gates para validação de entregas

🚀 Comandos CLI

Comandos Básicos

# Criar uma nova task
flow <task-name> [--type feature|bug|improvement|research]

# Listar todas as tasks
flow list

# Validar estrutura de uma task
flow validate <task-name>

# Inicializar projeto Flow
flow init [--name <name>] [--mission <mission>] [--agents-scoped]

# Iniciar servidor MCP para IA
flow mcp

Comando init - Inicialização de Projeto

Modo Padrão (Recomendado):

# Cria AGENTS.md na raiz do projeto
flow init --name "Meu Projeto" --mission "Resolver problema X"

Modo Agents-Scoped (Legacy):

# Cria AGENTS.md dentro de .flow/ (comportamento anterior)
flow init --agents-scoped

Opções do init:

  • --name <name>: Nome do projeto
  • --mission <mission>: Declaração de missão
  • --agents-scoped: Cria AGENTS.md dentro de .flow/ (modo legacy)

Vantagens do Modo Padrão:

  • Visibilidade imediata: IAs encontram instruções na raiz
  • Padronização: Todos os projetos Flow seguem a mesma estrutura
  • Facilidade: Não precisa navegar até .flow/
  • Convenção: Segue padrões como README.md, CONTRIBUTING.md

🛠️ Desenvolvimento

# Instalar dependências
npm install

# Compilar projeto
npm run build

# Testar localmente
npm run dev task-1234

📋 Templates Incluídos

AGENTS.md

Instruções completas para IA com:

  • Workflow obrigatório
  • Permissões de arquivos
  • Regras de isolamento por tarefa
  • Boas práticas de desenvolvimento

🔧 Configuração Personalizada do AGENTS.md

O arquivo AGENTS.md inclui seções que devem ser personalizadas pelos desenvolvedores com informações específicas do projeto:

Seções a Personalizar:

  1. 🛠️ Instruções de Desenvolvimento

    • Substitua [COMANDO_DEV], [COMANDO_BUILD], [COMANDO_TEST], [COMANDO_LINT] pelos comandos reais do projeto
    • Adicione regras específicas de organização de arquivos
    • Inclua padrões de código específicos (ESLint, Prettier, etc.)
    • Defina critérios de qualidade específicos do projeto
  2. 📋 Instruções de PR

    • Personalize o formato de título de PR
    • Adicione verificações específicas ao checklist de commit
    • Inclua critérios específicos de review do projeto

Exemplo de Personalização:

## 🛠️ Instruções de Desenvolvimento

### Ambiente de Desenvolvimento
- Use `npm run dev` para iniciar o servidor de desenvolvimento
- Use `npm run build` para compilar o projeto
- Use `npm run test` para executar testes
- Use `npm run lint` para verificar qualidade do código

### Estrutura de Arquivos
- Mantenha a estrutura `.flow/` para organização de tasks
- Use nomes descritivos para tasks (ex: `01_FEATURE_AUTH`, `02_BUG_LOGIN_ISSUE`)
- Siga o padrão de templates IA-friendly com tags delimitadas
- **Regras específicas**: Use TypeScript para todos os arquivos .ts
- **Organização**: Mantenha componentes em `/src/components/`

### Boas Práticas de Código
- Sempre documente mudanças no COMPLETION_REPORT.md
- Mantenha rastreabilidade entre código e documentação
- Valide critérios de aceitação antes de considerar completo
- **Padrões específicos**: Use ESLint com regras Airbnb, Prettier para formatação

### Testes e Qualidade
- Execute testes antes de cada commit
- Mantenha cobertura de testes mínima de 80%
- Use linting para manter consistência de código
- Valide funcionalidades contra BUSINESS_CONTEXT.md
- **Critérios específicos**: Todos os componentes devem ter testes unitários

Como Personalizar:

Opção 1: Personalização Automática (Recomendada)

Use a ferramenta MCP customize_agents para personalização automática:

# Via MCP (recomendado)
customize_agents({
  workingDirectory: "/path/to/your/project",
  forceUpdate: false,
  preserveCustomizations: true
})

O que a ferramenta faz automaticamente:

  • 🔍 Analisa o projeto (package.json, lock files, configs)
  • 📦 Detecta package manager (npm, yarn, pnpm)
  • 🛠️ Identifica frameworks (React, Vue, Angular, etc.)
  • 🔧 Detecta ferramentas (TypeScript, ESLint, Jest, etc.)
  • ⚙️ Personaliza comandos baseado no package manager
  • 📝 Mantém regras do Flow intactas (só altera seções técnicas)

Opção 2: Adicionar Instruções Específicas

Use a ferramenta MCP add_tech_instruction para adicionar instruções técnicas específicas:

# Via MCP
add_tech_instruction({
  instruction: "Use 'pnpm dlx turbo run dev' para iniciar o servidor de desenvolvimento",
  section: "development", // ou "pr" ou "both"
  workingDirectory: "/path/to/your/project"
})

O que esta ferramenta faz:

  • 📝 Adiciona instruções personalizadas com timestamp
  • 🎯 Permite especificar seção (desenvolvimento, PR, ou ambas)
  • 📊 Mantém rastreabilidade das instruções adicionadas
  • 🔒 Não modifica as regras do fluxo Flow

Opção 3: Personalização Manual

  1. Edite o arquivo AGENTS.md na raiz do seu projeto
  2. Substitua os placeholders pelos comandos e regras específicos
  3. Adicione seções personalizadas conforme necessário
  4. Mantenha a estrutura base para compatibilidade com IA
  5. Teste a configuração criando uma task de exemplo

PROJECT_CONTEXT.md

Contexto global do projeto com:

  • Missão e objetivos
  • Stack tecnológico
  • Padrões de desenvolvimento
  • Métricas de sucesso

BUSINESS_CONTEXT.md

Requisitos funcionais com:

  • User stories
  • Cenários de teste simplificados
  • Critérios de aceitação
  • Regras de negócio
  • Integrações e APIs
  • Logs e Analytics

APPROACH.md

Plano técnico com:

  • Arquitetura da solução
  • Modelos de dados
  • Contratos de API
  • Estratégia de testes

COMPLETION_REPORT.md

Relatório de conclusão com:

  • Resumo executivo
  • Log cronológico
  • Validação de critérios
  • Métricas de qualidade

🎯 Benefícios

Para Desenvolvedores

  • Estrutura clara para organizar tarefas
  • Contexto preservado entre sessões
  • Rastreabilidade completa do progresso
  • Padrões consistentes em todo o projeto

Para IA

  • Instruções claras e específicas
  • Contexto isolado por tarefa
  • Prompts otimizados para melhor compreensão
  • Workflow estruturado para execução eficiente

Para Equipes

  • Colaboração eficiente entre humanos e IA
  • Documentação automática do progresso
  • Padrões uniformes de desenvolvimento
  • Qualidade consistente nas entregas

🔗 Links Úteis

📄 Licença

MIT License - veja LICENSE para detalhes.


Desenvolvido com ❤️ para melhorar a colaboração entre humanos e IA no desenvolvimento de software.

👨‍💻🤝🤖 "A humanidade é uma coisa boa; a IA é apenas uma extensão dela."