- Título:
- Forja Plugins
Forja Plugins
Registro oficial e monorepo de plugins do Forja: relógio, Pomodoro e tarefas em Markdown, sobre um SDK compartilhado com tipos da API de plugins. Cada plugin declara as permissões que usa, e um script gera o registro que o Forja consulta para instalar.
Problema
O Forja precisava crescer sem que cada recurso novo entrasse no núcleo do app. Um sistema de plugins resolve isso só se houver plugins de verdade exercitando a API, e um jeito de distribuí-los.
Decisões técnicas
Monorepo com pnpm, um plugin por pasta e um SDK compartilhado, para todos falarem a mesma API tipada. Cada plugin declara num manifest as permissões que pede (tema, notificações, leitura e escrita de arquivo), e um script valida os manifests antes do build. Os estilos usam só as variáveis CSS do Forja, para o plugin acompanhar o tema do app. O registro é um JSON gerado e publicado no GitHub Pages, com o link de download de cada versão.
Resultado
Três plugins publicados, com vinte releases ao todo e testes em Vitest. O Pomodoro e as tarefas em Markdown aparecem na própria tela do Forja.
Links
---
title: Forja Plugins
url: https://nandomoreira.dev/lab/forja-plugins
collection: lab
tech:
- TypeScript
- Vite
- pnpm
- Vitest
date: 2026-03-26
---
# Forja Plugins
Registro oficial e monorepo de plugins do Forja: relógio, Pomodoro e tarefas em Markdown, sobre um SDK compartilhado com tipos da API de plugins. Cada plugin declara as permissões que usa, e um script gera o registro que o Forja consulta para instalar.
## Problema
O Forja precisava crescer sem que cada recurso novo entrasse no núcleo do
app. Um sistema de plugins resolve isso só se houver plugins de verdade
exercitando a API, e um jeito de distribuí-los.
## Decisões técnicas
Monorepo com pnpm, um plugin por pasta e um SDK compartilhado, para todos
falarem a mesma API tipada. Cada plugin declara num manifest as permissões
que pede (tema, notificações, leitura e escrita de arquivo), e um script
valida os manifests antes do build. Os estilos usam só as variáveis CSS do
Forja, para o plugin acompanhar o tema do app. O registro é um JSON gerado e
publicado no GitHub Pages, com o link de download de cada versão.
## Resultado
Três plugins publicados, com vinte releases ao todo e testes em Vitest. O
Pomodoro e as tarefas em Markdown aparecem na própria tela do Forja.
## Links
- Repo: https://github.com/nandomoreirame/forja-plugins