{"_id":"@belmirongola/taskup-cli","_rev":"3-093fd22fb11fd12c1da52e839ed51473","name":"@belmirongola/taskup-cli","dist-tags":{"latest":"1.0.2"},"versions":{"1.1.2":{"name":"@belmirongola/taskup-cli","version":"1.1.2","_id":"@belmirongola/taskup-cli@1.1.2","maintainers":[{"name":"belmirongola","email":"belmirongola@gmail.com"}],"bin":{"taskup":"dist/src/cli/index.js"},"dist":{"shasum":"221b267816bfd4ab76ac6de03cf22da1488b45fd","tarball":"https://registry.npmjs.org/@belmirongola/taskup-cli/-/taskup-cli-1.1.2.tgz","fileCount":113,"integrity":"sha512-4ZuuOXo2g3lqLbBp5g0SvAP0d/2RLwjrUmCMPeEOzQCRUxVRIeWlHOM+/yjy3tXcu9kX4VrNgFK76PtN5IOm9w==","signatures":[{"sig":"MEUCIQDj3jc+CJEKvoZ6LnjFLXaiSi+ESDqyPLYSDWVdT4Pr1QIgSZ0kLlO/fkKLnmD5wGuZJslxlW3CplW2WZAh/hwbE9U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4106553},"main":"./dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./cli":{"types":"./dist/src/cli/index.d.ts","import":"./dist/src/cli/index.js"}},"gitHead":"ba10fa6ea5edc923ec29689132054b86ea1fa26f","private":false,"scripts":{"dev":"node --loader ts-node/esm src/cli/index.ts","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"belmirongola","email":"belmirongola@gmail.com"},"_npmVersion":"10.8.2","description":"CLI para TaskUp MD — Automação via API Supabase","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ora":"^8.0.0","chalk":"^5.3.0","table":"^6.8.1","yargs":"^17.7.2","dotenv":"^17.3.1","inquirer":"^9.2.0","@supabase/supabase-js":"^2.100.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.5.0","@types/node":"^20.19.37","@types/yargs":"^17.0.35","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/taskup-cli_1.1.2_1774538079791_0.5290148430893655","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@belmirongola/taskup-cli","version":"1.1.3","_id":"@belmirongola/taskup-cli@1.1.3","maintainers":[{"name":"belmirongola","email":"belmirongola@gmail.com"}],"bin":{"taskup":"dist/src/cli/index.js"},"dist":{"shasum":"40f6b0ea06bed47fb3c7112b98589d2e954f1f42","tarball":"https://registry.npmjs.org/@belmirongola/taskup-cli/-/taskup-cli-1.1.3.tgz","fileCount":113,"integrity":"sha512-WY77pynriIw+4feV3rZWk4afgFCk1Znw0nzLMEsOYurgKbS2dlwB5deLlAjVIPWYqIyopBrzklsm3gO2jz+71Q==","signatures":[{"sig":"MEUCIQD+Ij0bTGIudRh5yDKbPvn4e5c5aUtqlEmB9+ezACYu4AIgKzkw5SkykWnJ2wsVq4alEKQw9v0JDR0FgbUcYejhzMI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4106553},"main":"./dist/src/index.js","type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./cli":{"types":"./dist/src/cli/index.d.ts","import":"./dist/src/cli/index.js"}},"gitHead":"1a348094e91b51412ecf2e390ce5fd41ec6660ee","private":false,"scripts":{"dev":"node --loader ts-node/esm src/cli/index.ts","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"belmirongola","email":"belmirongola@gmail.com"},"_npmVersion":"10.8.2","description":"CLI para TaskUp MD — Automação via API Supabase","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ora":"^8.0.0","chalk":"^5.3.0","table":"^6.8.1","yargs":"^17.7.2","dotenv":"^17.3.1","inquirer":"^9.2.0","@supabase/supabase-js":"^2.100.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.5.0","@types/node":"^20.19.37","@types/yargs":"^17.0.35","@types/inquirer":"^9.0.9"},"_npmOperationalInternal":{"tmp":"tmp/taskup-cli_1.1.3_1774538173681_0.40926657037672554","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@belmirongola/taskup-cli","version":"1.0.2","description":"CLI para TaskUp MD — Automação via API Supabase","type":"module","bin":{"taskup":"dist/cli/index.js"},"main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"tsc","dev":"node --loader ts-node/esm src/cli/index.ts","prepublishOnly":"npm run build"},"keywords":["taskup","cli","supabase","task-management","angola"],"author":{"name":"Belmir Ngola"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/belmirongola/taskup-automation.git"},"devDependencies":{"@types/inquirer":"^9.0.9","@types/node":"^20.19.37","@types/yargs":"^17.0.35","ts-node":"^10.9.0","typescript":"^5.5.0"},"dependencies":{"@supabase/supabase-js":"^2.100.0","chalk":"^5.3.0","dotenv":"^17.3.1","inquirer":"^9.2.0","ora":"^8.0.0","table":"^6.8.1","yargs":"^17.7.2"},"_id":"@belmirongola/taskup-cli@1.0.2","bugs":{"url":"https://github.com/belmirongola/taskup-automation/issues"},"homepage":"https://github.com/belmirongola/taskup-automation#readme","_nodeVersion":"22.17.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-9xZzSHKhw9q8d7hDgxF04Vvs3N7LA4TTAaTNM48q7ZhqeyGCKxJ63C61viyeOkJl/LJFD8NwfwP5ndNpDrPv6g==","shasum":"767c3ebbae6b0a714a7dfb480e1d2231afb95db3","tarball":"https://registry.npmjs.org/@belmirongola/taskup-cli/-/taskup-cli-1.0.2.tgz","fileCount":26,"unpackedSize":81113,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICNTsi3XEWKAuCWTra2F6EKLxJdyn2HauSNriVWvdh2nAiB8NkwKg8TYtprQf0OacaaNcJSqk2A9gjNzNel3Dy6isw=="}]},"_npmUser":{"name":"belmirongola","email":"belmirongola@gmail.com"},"directories":{},"maintainers":[{"name":"belmirongola","email":"belmirongola@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/taskup-cli_1.0.2_1776118854395_0.49079974362196754"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-26T15:14:39.726Z","modified":"2026-04-13T22:20:54.645Z","1.1.2":"2026-03-26T15:14:40.082Z","1.1.3":"2026-03-26T15:16:14.048Z","1.0.2":"2026-04-13T22:20:54.536Z"},"description":"CLI para TaskUp MD — Automação via API Supabase","maintainers":[{"name":"belmirongola","email":"belmirongola@gmail.com"}],"readme":"# TaskUp MD — Automação Playwright\n\nAutomação completa para o [TaskUp MD](https://taskup-md.vercel.app/), cobrindo login, CRUD de tarefas/projectos, Kanban, calendário, equipa e pesquisa global.\n\n## Estrutura\n\n```\ntaskup-automation/\n├── src/\n│   ├── index.ts          # Barrel export\n│   ├── types.ts          # Tipos partilhados\n│   ├── auth.ts           # Login / logout\n│   ├── navigation.ts     # Navegação sidebar + dark mode\n│   ├── tasks.ts          # CRUD tarefas + dashboard stats\n│   ├── projects.ts       # CRUD projectos\n│   ├── team.ts           # Gestão de equipa\n│   ├── kanban.ts         # Board Kanban + drag & drop\n│   ├── calendar.ts       # Calendário (vistas, navegação)\n│   └── search.ts         # Pesquisa global (⌘+K)\n├── tests/\n│   └── smoke.spec.ts     # Testes de fumo\n├── examples/\n│   └── full-workflow.ts  # Workflow completo de demonstração\n├── playwright.config.ts\n├── tsconfig.json\n└── package.json\n```\n\n## Setup\n\n```bash\ncd taskup-automation\nnpm install\nnpx playwright install chromium\n```\n\n## Uso\n\n### Correr testes de fumo\n```bash\nnpm test                 # headless\nnpm run test:headed      # com browser visível\nnpm run test:ui          # Playwright UI mode\n```\n\n### Correr workflow completo\n```bash\nnpm run example\n```\n\n### Importar como biblioteca\n```typescript\nimport { auth, tasks, projects, kanban } from \"./src\";\n\n// Login\nawait auth.login(page, { email: \"...\", password: \"...\" });\n\n// Criar tarefa\nawait tasks.createTask(page, {\n  title: \"Minha Tarefa\",\n  project: \"Meu Projecto\",\n  priority: \"Alta\",\n});\n\n// Criar projecto\nawait projects.createProject(page, {\n  name: \"Novo Projecto\",\n  startDate: \"2026-04-01\",\n  endDate: \"2026-12-31\",\n});\n\n// Arrastar tarefa no Kanban\nawait kanban.dragTask(page, \"Minha Tarefa\", \"Em Progresso\");\n```\n\n## Módulos\n\n| Módulo | Funções |\n|--------|---------|\n| `auth` | `login`, `logout` |\n| `navigation` | `navigateTo`, `toggleDarkMode`, `getCurrentPage` |\n| `tasks` | `createTask`, `editTask`, `deleteTask`, `changeTaskStatus`, `addComment`, `listTasks`, `getDashboardStats` |\n| `projects` | `createProject`, `editProject`, `deleteProject`, `listProjects` |\n| `team` | `addTeamMember`, `removeTeamMember`, `listTeamMembers` |\n| `kanban` | `getKanbanColumns`, `openTaskDetail`, `closeTaskDetail`, `dragTask` |\n| `calendar` | `openCalendar`, `changeView`, `nextMonth`, `previousMonth`, `goToToday`, `clickDay`, `getVisibleEvents` |\n| `search` | `openSearch`, `search`, `searchAndOpen`, `closeSearch` |\n\n## Notas\n\n- A app é uma SPA — a navegação usa clicks no sidebar, não URLs directos\n- Selectores usam combinações de `role`, `text`, `placeholder` e `class` para máxima resiliência\n- `workers: 1` no config porque a app tem estado partilhado entre testes\n- Credenciais no exemplo são para demo; em produção usar variáveis de ambiente\n","readmeFilename":"README.md","homepage":"https://github.com/belmirongola/taskup-automation#readme","keywords":["taskup","cli","supabase","task-management","angola"],"repository":{"type":"git","url":"git+https://github.com/belmirongola/taskup-automation.git"},"author":{"name":"Belmir Ngola"},"bugs":{"url":"https://github.com/belmirongola/taskup-automation/issues"},"license":"MIT"}