TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
Hábitos em 8 semanas, com check-in diário e indicadores de progresso.
Translation pending
ProductivityTypeScript · JavaScriptGitHub @DiegoaBarbozaOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Plataforma de desenvolvimento pessoal (PWA) que mede, mostra padrões e lembra. O módulo 1, Hábitos, transforma métodos de mudança de hábito em exercícios na tela e indicadores de adesão, com check-in diário. A especificação do MVP está em docs/HANDOFF-sistema-habitos.md; nome, cores e ícones em docs/HANDOFF-marca-trilho.md (vale este onde houver conflito); a direção da plataforma em docs/ROADMAP-trilho.md. O conteúdo das lições está em docs/conteudo-modulo1-habitos.md e os arquivos de marca em brand-kit/ (os do app ficam copiados em public/brand/).Read the full README ↗
Plataforma de desenvolvimento pessoal (PWA) que mede, mostra padrões e lembra. O módulo 1, Hábitos, transforma métodos de mudança de hábito em exercícios na tela e indicadores de adesão, com check-in diário.
A especificação do MVP está em docs/HANDOFF-sistema-habitos.md; nome, cores e ícones em docs/HANDOFF-marca-trilho.md (vale este onde houver conflito); a direção da plataforma em docs/ROADMAP-trilho.md. O conteúdo das lições está em docs/conteudo-modulo1-habitos.md e os arquivos de marca em brand-kit/ (os do app ficam copiados em public/brand/).
Stack: Next.js (App Router) + TypeScript + Tailwind CSS + Supabase, deploy na Vercel.
cp .env.example .env.local # preencha as chaves do Supabase
npm install
npm run dev
Abra http://localhost:3000.
As migrações ficam em supabase/migrations/, em ordem. Para aplicar no projeto da nuvem, abra o SQL Editor do Supabase e rode cada arquivo novo, na ordem do nome.
Configuração de Auth no painel (Authentication):
http://localhost:3000/** e o domínio de produção.Depois de aplicar as migrações (e sempre que docs/conteudo-modulo1-habitos.md mudar):
npm run seed-licoes
Lê o arquivo de conteúdo e grava as 8 lições na tabela licoes. Pode rodar de novo sem duplicar.
Precisa de SUPABASE_SERVICE_ROLE_KEY no .env.local.
npm run liberar-acesso -- [email protected]
Vale na hora, mesmo para quem já está logado. Para revogar, no SQL Editor:
update acessos set status = 'revogado' where email = '[email protected]';
npx web-push generate-vapid-keys e coloque VAPID_PUBLIC_KEY, VAPID_PRIVATE_KEY e VAPID_SUBJECT (mailto:seu-email) no .env.local e na Vercel. Não troque as chaves depois: as inscrições existentes param de funcionar.CRON_SECRET (qualquer texto longo e aleatório).GET /api/cron/lembretes a cada 15 minutos com o cabeçalho Authorization: Bearer <CRON_SECRET>. A rota decide quem recebe (janela de 15 min do horário do usuário, no máximo 1 por dia, só se houver hábito pendente).O service worker (public/sw.js) só é registrado no build de produção (npm run build && npm start); em npm run dev ele fica desligado para não servir páginas antigas do cache.
npx supabase start # sobe o banco e aplica as migrações
Os e-mails de link mágico chegam no Mailpit (http://127.0.0.1:54324). Para usar o local, troque URL e chave no .env.local pelos valores que o comando mostra.
npm run dev: servidor de desenvolvimentonpm run build: build de produçãonpm run lint: ESLintnpm run typecheck: TypeScript sem emitir arquivosnpm test: testes unitários (Vitest)