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 🙏

© 2026 – Pkg Stats / Ryan Hefner

fnin-framework

v1.0.7

Published

FNIN - Framework de agentes para engenharia de software (Projetos Novos e Legados).

Downloads

1,092

Readme

FNIN Framework (Framework New Idea Node)

Um framework em Node.js projetado para criar e orquestrar equipes de agentes de IA especialistas em todas as fases da Engenharia de Software.

O grande diferencial do FNIN é a sua capacidade de ler o contexto do ambiente. Ele sabe se você está começando uma ideia do zero ou se está rodando o comando dentro de um projeto legado, orientando os agentes de acordo com a situação.

Funcionalidades

  • Identificação de Contexto (Novos vs Legados): Lê o diretório atual em busca de arquivos comuns (package.json, pom.xml, .git) e avisa os agentes para respeitarem as estruturas de projetos já existentes, ou aplicarem novas arquiteturas do zero.
  • Equipe Especializada Nomeada:
    • Alice (Engenheira de Requisitos)
    • Bob (Arquiteto de Software)
    • Charlie (Desenvolvedor Full-Stack)
    • Diana (Engenheira de QA)
    • Eve (Engenheira DevOps)
  • Orientação via Markdown: Os prompts dos agentes são os arquivos .md na pasta agents/.
  • Pipeline Contínuo: A saída de Alice alimenta Bob, que alimenta Charlie, e assim por diante.
  • Ferramentas Adicionais: O framework agora suporta agentes de análise, clarificação, constituição, checklist, planejamento, geração de tasks e integração com Git.
  • Avaliação de Requisitos Existentes: Capacidade de importar arquivos (ex: .txt, .md) para a Alice avaliar o escopo antes de gerar a arquitetura.
  • Exportação Progressiva de Artefatos: O framework gera e atualiza (via append) uma pasta local .fnin_output contendo subdiretórios para cada fase do ciclo de software.

Estrutura de Saída Gerada

Sempre que o framework rodar, ele incrementará os arquivos na seguinte estrutura no diretório de execução:

.fnin_output/
├── 00-project-context.md       (Leitura inicial do projeto e inputs cumulativos do usuário)
├── 01-requirements/
│   └── artifact-requirements.md
├── 02-architecture/
│   └── artifact-architecture.md
├── 03-development/
│   └── artifact-development.md
├── 04-testing/
│   └── artifact-testing.md
└── 05-deployment/
    └── artifact-deployment.md

Como instalar via NPX e executar

O FNIN já possui o binário fnin configurado.

Para testar localmente:

# 1. Instale as dependências
npm install

# 2. Linke o pacote localmente para poder usar como CLI global
npm link

# 3. Dê permissão de execução (sistemas unix)
chmod +x bin/cli.js

# 4. Verifique a ativação do framework
fnin

# 5. Execute a orquestração de uma tarefa
fnin run "Criar um endpoint para atualizar a senha do usuário"

# 6. Execute importando um documento de requisitos existente
fnin run "Analisar as regras de negócio deste documento" -f "meus-requisitos.md"

# 7. Execute iterativamente. O arquivo será incrementado, e não sobrescrito.
fnin run "Agora adicione disparo de email na recuperação de senha"

Como estender para uso de uma LLM real

Abra o arquivo src/agent.js e implemente sua chamada de API para OpenAI/Anthropic/Gemini dentro do método process(). O framework já monta todo o contexto consolidado (Legado/Novo + Prompt do usuário + Fase atual) na variável input, bastando passar como User Message, e o this.systemPrompt como System Message.

Instalar no NPM para rodar via npx

Para que qualquer pessoa (ou você mesmo em outra máquina) possa rodar o seu framework direto da web usando apenas o comando npx, você precisa publicar o seu pacote em um Registry de Pacotes, como o NPM (Node Package Manager) público ou o GitHub Packages. O comando npx funciona da seguinte forma: quando você digita npx nome-do-pacote, ele baixa o pacote temporariamente do registro online, lê a propriedade "bin" do package.json e executa o binário definido lá, sem precisar instalar nada globalmente na máquina de forma permanente. Aqui está o passo a passo de como publicar o seu framework no NPM público para ser usado com npx:

  1. Ajuste o nome do pacote no package.json O nome do pacote precisa ser único no registro do NPM. Talvez fnin-framework já exista ou você queira colocar o seu nome/empresa. Abra o seu package.json e verifique/ajuste:
    {
    "name": "fnin-framework", 
    "version": "1.0.0",
    "bin": {
    "fnin": "./bin/cli.js"
    }
    }
    Dica: Se o nome estiver em uso no npm, você pode mudar para algo como @seu-usuario/fnin-framework.
  2. Crie uma conta no NPM Se você ainda não tem, vá até npmjs.com e crie uma conta gratuita.
  3. Faça login via terminal No terminal, dentro da pasta do seu projeto, faça login com a sua conta do NPM:
    npm login
    Ele pedirá seu usuário, senha e email.
  4. Publique o pacote Ainda na raiz do seu projeto (onde está o package.json), rode o comando:
    npm publish
    Se você estiver usando um nome com @seu-usuario/..., você precisa publicar indicando que é público: npm publish --access public.
  5. Pronto! Como as pessoas usarão o seu framework? Assim que a publicação terminar (pode levar alguns segundos), qualquer pessoa do mundo que tenha o Node instalado poderá abrir um terminal em qualquer pasta vazia ou projeto legado e rodar:
    npx fnin-framework run "Criar um sistema de autenticação"
    (Substitua fnin-framework pelo nome exato que você colocou no package.json) O que o npx vai fazer nos bastidores:
  6. Vai até a web e faz o download silencioso do seu fnin-framework.
  7. Lê o package.json e vê que o executável associado é o ./bin/cli.js rodando o comando fnin.
  8. Executa a sua aplicação CLI localmente.
  9. O seu framework lê a pasta local do usuário, cria a .fnin_output/ com todos os markdowns e termina o processo.

Publicando via GitHub (Alternativa Privada)

Se você não quer expor seu framework publicamente no NPM, você pode publicá-lo no GitHub Packages. Nesse caso, você precisará adicionar no package.json:

    "publishConfig": {
    "registry": "https://npm.pkg.github.com"
    },
    "repository": {
    "type": "git",
    "url": "https://github.com/SEU_USUARIO/SEU_REPOSITORIO.git"
    }

E as pessoas do seu time precisarão estar autenticadas no npm usando um token do GitHub para poder rodar o comando npx @seu-usuario/seu-repositorio run "tarefa".