taskup-cli
v2.1.10
Published
CLI para TaskUp MD — Automação via API Supabase
Downloads
1,287
Readme
🚀 TaskUp CLI & API Client
API client + CLI para TaskUp MD — Automação dinâmica via Supabase direto.
📦 Instalação
npm install @belmirongola/taskup-cli🎯 Uso: CLI
1️⃣ Autenticação
# Login (interativo ou com credenciais)
taskup login
taskup login --email [email protected] --password xxx
# Ver utilizador
taskup whoami
# Logout
taskup logoutCredenciais são armazenadas em ~/.taskup-cli/config.json
2️⃣ Tarefas
# Listar tarefas
taskup tarefas list
taskup tarefas list --estado "Em Progresso" --limit 20
taskup tarefas list --prioridade "Alta" --format json
# Criar tarefa
taskup tarefas create --titulo "Novo bug" --prioridade "Alta" --prazo 2026-04-01
# Ver tarefa
taskup tarefas get <id>
# Actualizar tarefa
taskup tarefas update <id> --estado "Concluído"
# Deletar tarefa
taskup tarefas delete <id>3️⃣ Projectos
# Listar projectos
taskup projectos list
taskup projectos list --estado "Activo"
# Criar projecto
taskup projectos create --nome "Novo Projecto" --estado "Activo"
# Ver projecto
taskup projectos get <id>
# Actualizar projecto
taskup projectos update <id> --estado "Concluído"
# Deletar projecto
taskup projectos delete <id>💻 Uso: Como Biblioteca
import { TaskUpClient } from "@belmirongola/taskup-cli";
const client = new TaskUpClient();
await client.login("[email protected]", "password");
// Listar tarefas
const tarefas = await client.listTarefas({
estado: "Em Progresso",
prioridade: "Alta",
limit: 20,
});
// Criar tarefa
const tarefa = await client.createTarefa({
titulo: "Minha Tarefa",
descricao: "Descrição",
prioridade: "Média",
prazo: "2026-04-01",
});
// Actualizar
await client.updateTarefa(tarefa.id, { estado: "Concluído" });
// Deletar
await client.deleteTarefa(tarefa.id);
// Projectos
const projectos = await client.listProjectos();
const projecto = await client.createProjecto({
nome: "Novo Projecto",
descricao: "Descrição",
});
// Reuniões
const reunioes = await client.listReunioes();
// Users
const users = await client.listUsers();
// Notificações
const notificacoes = await client.listNotificacoes();⚙️ Configuração
Criar .env na raiz:
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=your-anon-key
# Opcional: credenciais padrão
[email protected]
TASKUP_PASSWORD=password📋 API Métodos
Tarefas
listTarefas(filters?)— Listar com filtrosgetTarefa(id)— Obter uma tarefacreateTarefa(data)— Criar novaupdateTarefa(id, updates)— ActualizardeleteTarefa(id)— Deletar
Projectos
listProjectos(filters?)— ListargetProjecto(id)— Obter umcreateProjecto(data)— Criar novoupdateProjecto(id, updates)— ActualizardeleteProjecto(id)— Deletar
Reuniões
listReunioes(filters?)— ListargetReuniao(id)— Obter umacreateReuniao(data)— Criar novaupdateReuniao(id, updates)— ActualizardeleteReuniao(id)— Deletar
Users
listUsers(filters?)— Listar utilizadoresgetUserProfile(userId)— Obter perfilupdateUser(userId, updates)— Actualizar
Notificações
listNotificacoes(filters?)— ListarmarkNotificacaoRead(id)— Marcar como lidamarkAllNotificacoesRead()— Marcar todas
🔐 Privacidade (GitHub Packages)
Para publicar privadamente no GitHub:
Editar
~/.npmrc:@belmirongola:registry=https://npm.pkg.github.com //npm.pkg.github.com/:_authToken=YOUR_GITHUB_TOKENGitHub token com permissão
write:packageseread:packagesPublicar:
npm publish
📝 Desenvolvimento
# Build
npm run build
# Dev mode
npm run dev
# Compilação TypeScript
npm run build📄 Tipos
Tipos completos exportados:
import type {
Credentials,
Priority,
TaskStatus,
ProjectStatus,
CreateTaskInput,
TaskInfo,
ProjectInfo,
DashboardStats,
} from "@belmirongola/taskup-cli";Developed by @belmirongola — TaskUp MD Automation CLI
