Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

hiskra-code

Time de 16 especialistas em IA para desenvolvimento — instalável globalmente via npm

hiskra-code é um pacote npm que fornece agentes especialistas, skills técnicas e configuração opencode prontos para uso. Ele transforma o opencode em um time completo de desenvolvimento com orquestrador, analistas, arquitetos, devs, DBAs e mais — tudo trabalhando em paralelo.


📦 Instalação

npm install -g hiskra-code

Isso instala globalmente o CLI hiskra-code e todos os agentes/skills.

⚡ Após instalar, entre na raiz do seu projeto e execute hiskra-code init para criar a estrutura .opencode/.


🚀 Uso Rápido

# 1. Entre no seu projeto
cd meu-projeto

# 2. Inicialize a estrutura .opencode/
hiskra-code init

# 3. Pronto! Agora é só usar o opencode com o orquestrador

O init copia para dentro de .opencode/:

  • 16 agentes especialistas (com orquestrador incluso)
  • 14 skills técnicas
  • config.md com regras e fluxos obrigatórios
  • Templates de memorias.md, checkpoints.md, ideias.md, initial-prompt.md e requisitos.md

🧠 O que vem no pacote

Agentes (16 especialistas)

Agente Função
orquestrador Coordena todos os especialistas. Use como agente primário.
analista-requisitos Levanta, documenta e valida requisitos funcionais e não funcionais.
arquiteto-software Define e revisa arquitetura, padrões e decisões técnicas.
auditor-seguranca Audita segurança, identifica vulnerabilidades e propõe correções.
copywriter Cria e otimiza textos persuasivos para marketing e comunicação.
db-admin Cuida de banco de dados, modelagem, queries e migrações.
dev-fullstack Implementa features, corrige bugs e refatora código.
devops Cuida de infraestrutura, CI/CD, Docker e deploy.
engenheiro-prompt Cria e otimiza prompts para modelos de linguagem e IA.
gestor-projetos Planeja, acompanha e controla projetos de software.
marketing Planeja estratégias de marketing digital, SEO e crescimento.
quality-engineer Garante qualidade do software com testes e revisões.
regras Define e aplica regras, convenções e padrões do projeto.
security-auditor Audita segurança do projeto.
testes Planeja e implementa testes de software.
uiux Projeta interfaces e experiências de usuário.

Skills (14 manuais técnicos)

Skill Conteúdo
analise_requisitos Levantamento, documentação e validação de requisitos
arquitetura_software Arquitetura, padrões e decisões técnicas
copywriter Criação de textos persuasivos e microcopy
db-admin Administração e modelagem de banco de dados
development Desenvolvimento full-stack (boas práticas, padrões)
devops Infraestrutura, CI/CD, Docker, deploy
engenharia_prompts Criação e otimização de prompts para IA
gestao_projetos Planejamento e gestão de projetos de software
marketing Marketing digital, SEO e estratégias de crescimento
rules Regras e convenções do projeto
seguranca Auditoria de segurança e hardening
SEOandGEO SEO e otimização para mecanismos de busca e resposta
testes Testes e garantia de qualidade de software
uiux Design de interface e experiência do usuário

🎯 Como os agentes trabalham juntos

O orquestrador é o agente principal. Quando você faz uma demanda, ele:

  1. Analisa o que precisa ser feito
  2. Dispara os especialistas certos em paralelo (usando task com subagent_type: general)
  3. Consolida as respostas em um resultado coeso
Você: "Criar tela de login"
  │
  ▼
Orquestrador
  │
  ├── analista-requisitos → levantar requisitos
  ├── uiux                → prototipar a tela
  ├── dev-fullstack       → implementar o código
  ├── db-admin            → modelar os dados
  └── testes              → criar os testes
  │
  ▼
Resultado único e consolidado

💻 CLI completa

hiskra-code init

Inicializa o projeto com agentes, skills e templates.

# Modo interativo (faz perguntas sobre o projeto)
hiskra-code init

# Modo silencioso (apenas copia os arquivos)
hiskra-code init --quiet

# Forçar recriação (sobrescreve arquivos existentes)
hiskra-code init --force

hiskra-code list

# Listar todos os agentes disponíveis
hiskra-code list agents

# Listar todas as skills disponíveis
hiskra-code list skills

hiskra-code get

# Visualizar detalhes de um agente
hiskra-code get agent db-admin

# Visualizar detalhes de uma skill
hiskra-code get skill development

# Visualizar configuração do projeto
hiskra-code get config

# Visualizar o agente orquestrador
hiskra-code get orquestrador

hiskra-code create

Crie novos agentes e skills diretamente do terminal.

# Criar skill
hiskra-code create skill \
  --name "cache-redis" \
  --prompt "# Cache Redis\n## Regras\n- TTL obrigatório" \
  --triggers "redis,cache,ttl"

# Criar agente
hiskra-code create agent \
  --name "especialista-cache" \
  --prompt "Você é o especialista em cache do time." \
  --skills "db-admin,devops" \
  --mode subagent \
  --permissions "edit:allow,bash:deny"

🛠️ Usando via API (JavaScript/TypeScript)

O pacote também pode ser usado programaticamente.

CommonJS

const hiskra = require('hiskra-code');

// ── Consulta ──
const agents = hiskra.listAgents();           // ['analista-requisitos', ...]
const skills = hiskra.listSkills();           // ['development', ...]
const agent  = hiskra.getAgent('db-admin');   // { name, frontmatter, body, content, source }
const skill  = hiskra.getSkill('testes');     // { name, frontmatter, body, content, source }
const config = hiskra.getConfig();            // string (config.md)
const orq    = hiskra.getOrquestrador();      // { name, frontmatter, body, content, source }

// ── Criação ──
hiskra.generateSkill({
  name: 'cache-redis',
  description: 'Configuração de cache Redis',
  prompt: '# Cache Redis\n## Regras\n- TTL obrigatório',
  triggerKeywords: 'redis, cache, ttl',
  skillType: 'project',           // 'project' ou 'global'
});

hiskra.generateAgent({
  name: 'especialista-cache',
  description: 'Especialista em cache',
  prompt: 'Você é o especialista em cache do time.',
  skills: 'db-admin,devops',      // nomes das skills referenciadas
  mode: 'subagent',               // subagent | primary | all
  permissions: 'edit:allow,bash:deny',
});

// ── Inicialização ──
hiskra.initProject();
hiskra.initProject({ force: true }); // sobrescreve existentes

// ── Utilitários ──
hiskra.findProjectRoot(process.cwd()); // encontra raiz do projeto
hiskra.getProjectRoot();               // retorna raiz detectada
hiskra.ensureProjectInitialized();     // verifica se .opencode/ existe

ES Modules

import hiskra, { listAgents, getAgent, generateSkill } from 'hiskra-code';

const agents = listAgents();
const agent  = getAgent('uiux');
generateSkill({ name: 'nova-skill', prompt: '# Instruções' });

📁 Estrutura gerada

Após executar hiskra-code init, seu projeto fica assim:

meu-projeto/
├── .opencode/
│   ├── config.md              ← Regras e fluxos do projeto
│   ├── memorias.md            ← Registro de decisões
│   ├── checkpoints.md         ← Estado de cada sessão
│   ├── ideias.md              ← Sugestões e melhorias
│   ├── initial-prompt.md      ← Prompt inicial do projeto
│   ├── requisitos.md          ← Requisitos funcionais e não funcionais
│   ├── agents/                ← 16 agentes especialistas
│   │   ├── orquestrador.md
│   │   ├── analista-requisitos.md
│   │   ├── arquiteto-software.md
│   │   ├── db-admin.md
│   │   ├── dev-fullstack.md
│   │   └── ... (mais 11 agentes)
│   └── skills/                ← 14 skills técnicas
│       ├── analise_requisitos.md
│       ├── arquitetura_software.md
│       ├── development.md
│       ├── db-admin.md
│       ├── testes.md
│       └── ... (mais 9 skills)
├── opencode.json              ← Configuração do opencode (criado se não existir)
└── package.json               ← Seu projeto

⚙️ Configuração manual do opencode.json

Se preferir configurar manualmente ou quiser personalizar, o opencode.json segue este formato:

{
  "$schema": "https://opencode.ai/config.json",
  "default_agent": "orquestrador",
  "instructions": [".opencode/config.md"],
  "agent": {
    "orquestrador":       { "description": "Coordena todos os especialistas", "mode": "primary" },
    "analista-requisitos": { "description": "Levanta e documenta requisitos", "mode": "subagent" },
    "arquiteto-software":  { "description": "Define arquitetura e padrões",   "mode": "subagent" },
    "db-admin":            { "description": "Cuida de banco de dados",        "mode": "subagent" },
    "dev-fullstack":       { "description": "Implementa features",            "mode": "subagent" },
    "uiux":                { "description": "Projeta interfaces",             "mode": "subagent" },
    "testes":              { "description": "Cria e mantém testes",           "mode": "subagent" },
    "copywriter":          { "description": "Cria textos persuasivos",        "mode": "subagent" },
    "devops":              { "description": "Cuida de infraestrutura",         "mode": "subagent" },
    "engenheiro-prompt":   { "description": "Otimiza prompts para IA",        "mode": "subagent" },
    "gestor-projetos":     { "description": "Gerencia projetos",              "mode": "subagent" },
    "marketing":           { "description": "Estratégias de marketing",       "mode": "subagent" },
    "regras":              { "description": "Aplica regras do projeto",       "mode": "subagent" },
    "auditor-seguranca":   { "description": "Audita segurança",               "mode": "subagent" },
    "quality-engineer":    { "description": "Garante qualidade",              "mode": "subagent" },
    "security-auditor":    { "description": "Audita segurança",               "mode": "subagent" }
  }
}

🔒 Permissões dos agentes

Cada agente pode ter permissões específicas definidas no frontmatter:

---
description: Analisa requisitos sem modificar código
mode: subagent
permission:
  edit: deny    # não pode editar arquivos
  bash: deny    # não pode executar comandos
---
  • edit: allow/deny — controle de edição de arquivos
  • bash: allow/deny — controle de execução de comandos

O orquestrador tem permissões amplas, enquanto agentes especialistas podem ser restritos para segurança.


📚 Exemplos de uso

Exemplo 1: Criar uma feature completa

# No opencode, com o orquestrador como agente padrão:
"Preciso de uma tela de recuperação de senha"

O orquestrador dispara em paralelo:

  1. analista-requisitos — requisitos da funcionalidade
  2. uiux — protótipo da interface
  3. db-admin — modelagem (token, expiry, etc.)
  4. dev-fullstack — implementação
  5. testes — testes da feature

Exemplo 2: Auditoria de segurança

"Faça uma auditoria de segurança no projeto"

O orquestrador dispara:

  1. auditor-seguranca — varredura de vulnerabilidades
  2. security-auditor — auditoria complementar
  3. dev-fullstack — correção dos pontos encontrados

Exemplo 3: Criar novo agente personalizado

hiskra-code create agent \
  --name "especialista-ml" \
  --description "Especialista em machine learning" \
  --prompt "Você é o engenheiro de ML do time." \
  --skills "development,db-admin" \
  --mode subagent

🧪 Desenvolvimento

# Clonar o repositório
git clone https://github.com/hiskra/hiskra-code.git
cd hiskra-code

# A estrutura do pacote está em .opencode/
# Para testar localmente:
npm link
cd /tmp/test-project
hiskra-code init

📄 Licença

MIT — Use, modifique e distribua livremente.


🤝 Contribuindo

Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou enviar PRs.


hiskra-code — Seu time de desenvolvimento em IA, num pacote só.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors