minerva-cli
v0.2.1
Published
CLI de organização acadêmica para estudantes de Análise e Desenvolvimento de Sistemas da FATEC
Maintainers
Readme
🦉 Minerva CLI
Organização acadêmica de ponta a ponta para estudantes de Análise e Desenvolvimento de Sistemas da FATEC — direto do terminal, integrada ao Obsidian.
A Minerva cria e mantém um vault de estudos completo para toda a graduação: os 6 semestres com todas as disciplinas da matriz curricular oficial, templates de aula/resumo/prova/trabalho, dashboard automático, flashcards, cheatsheets, portfólio e muito mais.
Instalação
npm install -g minerva-cliRequer Node.js 20+ (LTS).
Começando
minerva init # cria o vault fatec-ads/ com tudo dentro
cd fatec-ads
minerva dashboard # gera o dashboard de estudosAbra a pasta fatec-ads/ como vault no Obsidian e pronto. 🟣
Comandos
| Comando | O que faz |
| ------------------------------------------------ | ----------------------------------------------------------------------------------------------------- |
| minerva init [pasta] | Cria a estrutura completa do curso (Git, README, matriz, 6 semestres, templates, Obsidian, dashboard) |
| minerva dashboard | Regenera o dashboard: disciplinas, pendências, próximas provas, progresso |
| minerva aula [título] | Cria a anotação de uma aula |
| minerva resumo [tema] | Cria um resumo de estudo |
| minerva prova [nome] --data YYYY-MM-DD | Agenda e planeja uma prova |
| minerva trabalho [título] --entrega YYYY-MM-DD | Cria um trabalho com data de entrega |
| minerva projeto [nome] | Cria um projeto de disciplina |
| minerva portfolio | Gera o índice do portfólio com todos os projetos |
| minerva cheatsheet [assunto] | Cria uma cheatsheet avulsa (Git, SQL, Linux...) |
| minerva flashcards [tema] | Cria um deck de flashcards (compatível com Spaced Repetition) |
| minerva semestre [n] | Mostra ou define o semestre atual |
| minerva disciplina | Lista as disciplinas; disciplina add cria uma extra |
| minerva estudo [horas] | Registra horas de estudo (-d para disciplina); sem argumento, mostra os totais |
| minerva pendencias | Lista todos os checkboxes abertos do semestre, com arquivo e linha |
| minerva semana | Provas, entregas e pendências dos próximos 7 dias (--dias N muda a janela) |
| minerva nota | Boletim com médias e situação; nota add registra a nota de uma avaliação |
| minerva stats | Streak, horas e gráfico de constância dos últimos 30 dias |
| minerva flashcards export | Exporta todos os flashcards para TSV importável no Anki |
| minerva open [arquivo] | Abre o dashboard (ou um arquivo) no Obsidian |
| minerva commit [msg] | Faz git add + commit de tudo que mudou no vault |
| minerva config | Mostra a configuração; config set <chave> <valor> edita |
| minerva completion <shell> | Gera autocomplete para bash ou zsh |
| minerva update-matriz | Atualiza a matriz curricular a partir do site oficial da FATEC |
| minerva doctor | Diagnóstico do ambiente e do vault |
| minerva version / minerva help | Versão e ajuda |
Todos os comandos de nota aceitam -d/--disciplina e -s/--semestre para pular os prompts interativos, e -c/--commit para commitar o vault após criar. Comandos de leitura (estudo, pendencias, semana, nota, stats, config) aceitam --json para uso em scripts.
Resumos e flashcards com IA
minerva resumo --ai lê suas anotações em Aulas/ e gera o rascunho do resumo com Claude; minerva flashcards --ai gera cards a partir dos seus Resumos/. Requer a variável de ambiente ANTHROPIC_API_KEY:
export ANTHROPIC_API_KEY="sk-ant-..."
minerva resumo "Normalização" -d "Banco de Dados" --aiExemplo
minerva aula "Normalização" -d "Banco de Dados" -s 3
# ✔ Pronto! Nota criada em:
# • 3-semestre/Banco de Dados/Aulas/2026-07-13-aula-normalizacao.mdEstrutura criada pelo minerva init
fatec-ads/
├── dashboard/ # Dashboard.md gerado automaticamente
├── roadmap/ # roadmap da graduação
├── curriculo/ # matriz.json (matriz curricular oficial)
├── portfolio/ # índice de projetos (minerva portfolio)
├── entrevistas/ estagio/ certificados/ artigos/ livros/
├── snippets/ flashcards/ cheatsheets/ laboratorio/ desafios/
├── templates/ # templates Handlebars personalizáveis
├── projetos-pessoais/
├── obsidian/ # daily notes, canvas, attachments, excalidraw
├── 1-semestre/ ... 6-semestre/
│ └── <Disciplina>/
│ ├── README.md Cheatsheet.md Resumo-Final.md
│ ├── Aulas/ Resumos/ Provas/ Trabalhos/ Projetos/
│ └── Exercicios/ Flashcards/ Laboratorio/ Referencias/
└── minerva.json # configuração do vaultPersonalizando templates
Os templates ficam em templates/*.hbs dentro do vault. Edite qualquer um deles e a Minerva passa a usar a sua versão — os embutidos no pacote são apenas o fallback.
Como atualizar
npm update -g minerva-cli
minerva update-matriz # re-sincroniza a matriz com o site da FATECDesenvolvimento
git clone https://github.com/phs-santos/fatec-cli
cd minerva-cli
npm install
npm run dev -- --help # roda a CLI via tsx
npm test # Vitest
npm run lint # ESLint + Prettier
npm run build # tsup → ESM + CJS + tiposA arquitetura, as decisões de design e os diagramas estão em docs/ARQUITETURA.md. Fluxogramas de uso (do zero à rotina semanal) em docs/GUIA-DE-USO.md.
Roadmap
- [x] Resumos e flashcards gerados por IA (Anthropic; OpenAI/Gemini via interface
AiProvider) - [x] Exportação de flashcards para Anki
- [x] Registro de horas, boletim de notas e estatísticas de constância
- [ ] Integração com Notion e Google Calendar
- [ ] Sincronização com GitHub / nuvem
- [ ] Servidor MCP para uso com agentes
Como contribuir
- Abra uma issue descrevendo a proposta.
- Fork + branch (
feat/minha-feature). npm testenpm run lintverdes.- Abra o pull request. 💜
Licença
MIT
