Skip to content

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

⚡ Taskzito CLI ⚡

O Taskzito é um jornal markdown minimalista e gerenciador de to-do list CLI em Python super leve, focado em alta produtividade para desenvolvedores. Ele armazena suas tarefas e notas em arquivos locais Markdown padrão (todo.d e journal.md), permitindo fácil visualização e edição em qualquer editor.


✨ Funcionalidades

  1. To-Do List Integrado (todo.d): Adicione, liste, alterne o status (toggle entre [ ] e [x]) e delete tarefas com facilidade.
  2. Jornal Diário (journal.md): Registre notas rápidas com timestamps de forma contínua durante o dia.
  3. Relatórios Inteligentes: Marque atividades com hashtags do tipo #Task123 ou #Bug456 em suas notas e gere relatórios de progresso agrupados lindamente por dia e tarefas.
  4. Visual Premium: Estética moderna utilizando ícones Unicode limpos e cores vibrantes ANSI no terminal (sem necessidade de instalar dependências externas).

🚀 Como Usar

📋 To-Do List

  • Ver Dashboard (Tarefas de hoje + Últimas notas + Dicas):
    ./taskzito
  • Listar todas as tarefas:
    ./taskzito todo
  • Adicionar uma nova tarefa:
    ./taskzito add "Minha nova tarefa"
  • Editar o texto de uma tarefa:
    ./taskzito edit <numero_da_tarefa> "Novo texto da tarefa"
    (Dica: Se você omitir o novo texto e chamar apenas ./taskzito edit <id>, a CLI iniciará um prompt interativo no terminal pré-preenchido com o texto atual da tarefa, permitindo fazer alterações de forma muito mais fácil).
  • Alternar status de uma tarefa (Toggle [ ] <-> [x]):
    ./taskzito toggle <numero_da_tarefa>
    # ou
    ./taskzito check <numero_da_tarefa>
  • Remover uma tarefa:
    ./taskzito del <numero_da_tarefa>

📖 Journal (Diário)

  • Adicionar uma nota no jornal de hoje:
    ./taskzito note "Implementando a rota de login #Task42282"
    # ou, para abrir o editor padrão do sistema (vi, vim, emacs) e digitar uma nota longa:
    ./taskzito note -e  # ou --editor
  • Adicionar uma nota multilinha: Você pode passar quebras de linha reais no terminal abrindo aspas, utilizar a sequência \n ou usar o editor de texto do sistema com a flag -e / --editor (que pode opcionalmente receber um texto inicial pré-preenchido, ex: ./taskzito note "Texto inicial" -e).
  • Visualizar as notas do diário registradas hoje (com índices e formatação multilinha):
    ./taskzito view
  • Editar uma nota registrada hoje:
    ./taskzito note edit <numero_da_nota> "Novo texto da nota"
    # ou, para abrir no editor de texto padrão do sistema (vi, vim, emacs):
    ./taskzito note edit <numero_da_nota> -e  # ou --editor
    (Dica: Se você omitir o novo texto e chamar apenas ./taskzito note edit <id>, a CLI iniciará um prompt interativo no terminal pré-preenchido com a nota atual. Caso queira usar o editor padrão de tela cheia do sistema, passe a flag -e ou --editor que lê as variáveis de ambiente VISUAL ou EDITOR do shell).
  • Remover uma nota registrada hoje:
    ./taskzito note del <numero_da_nota>

📊 Relatórios

  • Gerar o relatório cronológico completo de Tasks & Bugs:

    ./taskzito report

    Isso lerá seu arquivo journal.md e agrupará todas as notas que possuem tags como #TaskXXXX ou #BugXXXX organizadas por data e ID de tarefa, gerando um resumo limpo e formatado.

  • Gerar o relatório simplificado (fácil de copiar/colar):

    ./taskzito report -s
    # ou
    ./taskzito report --simple

    Isso gerará uma lista simplificada por dia com as tasks/bugs separadas por vírgula, sem ícones ou formatação ANSI especial.


📂 Estrutura dos Arquivos

Os arquivos gerados são compatíveis com leitores e renderizadores Markdown comuns:

todo.d (Exemplo)

- [x] Criar infraestrutura básica da CLI
- [ ] Adicionar suporte a relatórios do jornal

journal.md (Exemplo)

# 2026-07-07

- [12:30:07] Iniciado o desenvolvimento do backend da CLI. #Task001
- [12:30:07] Resolvido erro de index out of range ao fazer toggle de tarefas inexistentes. #Bug102
- [12:30:07] Revisão geral do código. #Task001

🛠️ Requisitos

  • Python 3.x
  • Terminal com suporte a cores ANSI e caracteres Unicode (a maioria dos terminais Linux modernos)

🧪 Como Rodar os Testes

Você pode validar e garantir a integridade de todas as regras de negócio executando a suíte de testes integrada (desenvolvida com a biblioteca padrão unittest do Python):

python3 test_taskzito.py

(Nota: Os testes rodam de forma 100% isolada usando variáveis de ambiente e arquivos temporários de teste, sem alterar ou apagar dados reais de tarefas e diário).

About

Jornal markdown minimalista e gerenciador de to-do list CLI em Python puro com zero dependências externas.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages