{
  "markdown": "# TaskTime Pro\n\n[![CI](https://github.com/tasktimepro/tasktime/actions/workflows/ci.yml/badge.svg)](https://github.com/tasktimepro/tasktime/actions/workflows/ci.yml)\n[![Agent Bridge](https://img.shields.io/npm/v/%40tasktimepro%2Fagent-bridge?label=agent%20bridge)](https://www.npmjs.com/package/@tasktimepro/agent-bridge)\n[![MCP](https://img.shields.io/badge/mcp-pro.tasktime%2Fagent--bridge-0a7cff)](https://tasktime.pro/.well-known/tasktime-agent.json)\n[![License](https://img.shields.io/badge/license-AGPL--3.0--only-blue)](./LICENSE)\n\nTaskTime Pro is a free, open-source, local-first work manager for freelancers, covering tasks, timers, expenses, invoices, and reports. Core use requires no TaskTime account or cloud sync, works offline after the PWA is loaded or installed, and stores work records in the browser.\n\nThe app stores user work data locally with Yjs and IndexedDB, supports optional Google Drive or Dropbox sync, and exposes an optional first-party same-device MCP bridge for AI agents after explicit pairing. The production app sends limited aggregate usage metrics without project, task, client, invoice, expense, note, or time-entry content.\n\n- Production app: https://tasktime.pro\n- Agent docs: https://tasktime.pro/agents/\n- Public source: https://github.com/tasktimepro/tasktime\n\n## Highlights\n\n- Projects, clients, hierarchical tasks, project notes, and weekly planning\n- Multiple project timers with pause, stop, and automatic time-entry creation\n- Expenses, tax-return periods, recurring expenses, and backup/restore flows\n- Invoice drafts, terminal cancellation of finalized unpaid invoices, templates, PDF export, payments, quotes, and reports\n- Local-first storage with browser persistence and optional provider-backed sync\n- Agent-ready local MCP bridge with scopes, approval tokens, and generated tool docs\n\n## Quick Start\n\nRequirements:\n\n- Docker with Docker Compose\n- `make`\n\nAll Node/npm commands run through Docker.\n\n```bash\nmake install\nmake dev\n```\n\nOpen http://localhost:3101.\n\nDuring local development, the public Astro pages are served through the same origin, so these URLs work from the app server:\n\n- http://localhost:3101/blog\n- http://localhost:3101/agents\n- http://localhost:3101/llms.txt\n\n## Common Commands\n\n```bash\nmake install                         # install dependencies\nmake dev                             # start the app on localhost:3101\nmake stop                            # stop local containers\nmake lint                            # run ESLint\nmake typecheck                       # run the repository-wide TypeScript check\nmake test-run                        # run Vitest once\nmake test-coverage                   # run Vitest with coverage\nmake test-e2e-smoke                  # run Playwright smoke tests in Chromium\nmake test-e2e-drive-browsers         # run direct Drive smoke in Chromium, Firefox, and WebKit\nmake build                           # build the app and public site\nmake preview                         # build and preview production output\nmake npm CMD=\"run build:agent-bridge\" # build the agent bridge package\n```\n\n## Architecture\n\n- React 19 and Vite for the app\n- Tailwind CSS, Radix, and shadcn-style UI primitives\n- Yjs CRDT documents with IndexedDB persistence\n- Optional Google Drive or Dropbox sync sends routine sync files directly from your browser to your own selected provider; the private edge service handles OAuth, short-lived token issuance, revocation, and provider-neutral hosted identity\n- Astro for the public blog, agent docs, `llms.txt`, and sitemap output\n- Vitest for unit/integration tests and Playwright for browser smoke tests\n\nHigh-level layout:\n\n```text\nsrc/                              App source, hooks, Yjs stores, utilities, tests\nagent-bridge/                     Publishable @tasktimepro/agent-bridge package\nintegrations/openclaw/tasktime/   OpenClaw/ClawHub skill and plugin bundle\nintegrations/claude/tasktime/      Claude Code plugin bundle and MCP server config\nblog/                             Astro public site, blog, and agent docs\npublic/.well-known/               Agent discovery manifest\ne2e/                              Playwright browser tests\ntest-data/backups/                Public backup fixtures for compatibility tests\n```\n\n## AI Agent Access\n\nTaskTime Pro exposes a same-device local MCP bridge through the packaged `tasktime-agent-bridge` binary. The browser app remains the owner of data mutations; the bridge is loopback-only and requires explicit local pairing.\n\nUseful entry points:\n\n- `/agents/` - overview and integration model\n- `/agents/quickstart/` - bridge launch, pairing, and first MCP call\n- `/agents/security/` - scopes, approvals, revocation, and local-only rules\n- `/agents/tools/` - generated MCP tool reference\n- `/agents/claude/` - Claude Code plugin installation and safety notes\n- `/agents/openclaw/` - OpenClaw/ClawHub installation and publishing notes\n- `/agents/mcp-tools.json` - machine-readable tool catalog\n- `/agents/skill.md` - Skill-style instructions for agent platforms\n- `/llms.txt` and `/.well-known/tasktime-agent.json` - public discovery files\n- `integrations/openclaw/tasktime/` - OpenClaw-compatible skill and plugin bundle\n- `integrations/claude/tasktime/` - Claude Code plugin bundle\n\n## Data Compatibility\n\nTaskTime Pro is a production local-first app. Browser IndexedDB data, Yjs document shapes, export files, and cloud sync state must be treated as live user data.\n\nWhen changing persisted data:\n\n- Prefer additive fields and backward-compatible validation.\n- Include migrations when existing records need new structure.\n- Do not require users to clear browser data or cloud sync state.\n- Keep destructive sync, deletion, and billing actions explicit.\n- Use the existing Yjs-backed hooks, stores, and command layers instead of adding parallel storage paths.\n\n## Public Repository Boundary\n\nThis repository contains the public app, public site, tests, agent bridge, and OpenClaw bundle. Private Cloudflare Worker source, deployment workflows, provider account IDs, production KV/D1 identifiers, secrets, and internal operational runbooks are intentionally managed outside this public source tree.\n\n## Agent Development Workflow\n\nAgent instructions live in `AGENTS.md`. Product intent and acceptance live in `spec/`, durable boundaries in `contracts/`, detailed constraints in `rules/`, and current execution state in `status/`. `SYSTEM_OVERVIEW.md` and `ARCHITECTURE_MAP.md` provide a fast architecture read; `TODO.md` remains the broader backlog and ideas list.\n\nReusable workflows live in `.agents/skills/`, with editor-invocable ongoing-project prompts in `.github/prompts/`. These files were derived from the established production repository rather than from blank first-intake scaffolding.\n\nThe installed agent-kit version is recorded in `KIT_VERSION`, and `KIT_MANIFEST.md` records local ownership. The generic kit source is only update material and does not override TaskTime Pro's production compatibility, architecture, or public/private repository boundaries.\n\n## Contributing\n\nSee [CONTRIBUTING.md](./CONTRIBUTING.md) for development expectations, compatibility rules, and pull request guidance.\n\nAll contributors are expected to follow [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md).\n\nFor security issues, see [SECURITY.md](./SECURITY.md).\n\nFor privacy expectations, see [PRIVACY.md](./PRIVACY.md) and the canonical product policy at https://tasktime.pro/privacy/.\n\n## License\n\nTaskTime Pro app and bridge code are licensed under `AGPL-3.0-only`.\n\nThe OpenClaw/ClawHub skill bundle in `integrations/openclaw/tasktime/` is licensed under `MIT-0`.\n\nThe Claude Code plugin skill bundle in `integrations/claude/tasktime/` is licensed under `MIT-0`.\n",
  "bytes": 7739,
  "sha": "200375c75e1833b568b3639a178e0dd4a69fda99fe5b25875468fbf8ea0e43fb",
  "repo_slug": "tasktimepro/tasktime",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_pro_tasktime_agent_bridge_28c31c34/readme"
}