{"id":48431577,"url":"https://github.com/sheshiyer/team-forge-ts","last_synced_at":"2026-06-10T20:00:46.659Z","repository":{"id":349513802,"uuid":"1202685148","full_name":"Sheshiyer/team-forge-ts","owner":"Sheshiyer","description":"LCARS mission-control desktop app with a Cloudflare-backed TeamForge project control plane for GitHub, Huly, and Clockify operations.","archived":false,"fork":false,"pushed_at":"2026-06-10T18:36:54.000Z","size":6261,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-10T19:16:49.150Z","etag":null,"topics":["clockify","dashboard","desktop-app","employee-tracking","huly","lcars","macos","react","rust","star-trek","tauri","time-tracking"],"latest_commit_sha":null,"homepage":"https://thoughtseed.com","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sheshiyer.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-06T09:37:36.000Z","updated_at":"2026-06-10T18:37:03.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Sheshiyer/team-forge-ts","commit_stats":null,"previous_names":["sheshiyer/team-forge-ts"],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/Sheshiyer/team-forge-ts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sheshiyer%2Fteam-forge-ts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sheshiyer%2Fteam-forge-ts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sheshiyer%2Fteam-forge-ts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sheshiyer%2Fteam-forge-ts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sheshiyer","download_url":"https://codeload.github.com/Sheshiyer/team-forge-ts/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sheshiyer%2Fteam-forge-ts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34168086,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-10T02:00:07.152Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clockify","dashboard","desktop-app","employee-tracking","huly","lcars","macos","react","rust","star-trek","tauri","time-tracking"],"created_at":"2026-04-06T11:02:47.640Z","updated_at":"2026-06-10T20:00:46.646Z","avatar_url":"https://github.com/Sheshiyer.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"https://capsule-render.vercel.app/api?type=waving\u0026color=gradient\u0026customColorList=0,1,2\u0026height=200\u0026text=TEAMFORGE\u0026fontSize=60\u0026fontAlignY=35\u0026desc=LCARS%20Mission%20Control%20for%20Your%20Team\u0026descAlignY=55\u0026fontColor=ff9900\" width=\"100%\" /\u003e\n\n```\n  ____________  ___    __  ________  ____  ___  _____________\n /_  __/ __/  |/  /   / / / / __/ / / / / / _ \\/ ___/ __/\n  / / / _// /|_/ /   / /_/ /\\ \\/ /_/ / / / , _/ (_ / _/\n /_/ /___/_/  /_/    \\____/___/\\____/_/_/_/|_|\\___/___/\n       STARDATE 2026.098 — SYSTEMS NOMINAL\n```\n\n\u003c!-- readme-gen:start:badges --\u003e\n\n![Build](https://img.shields.io/badge/build-passing-33cc66?style=flat-square\u0026logo=rust\u0026logoColor=white)\n![Release](https://img.shields.io/github/v/tag/Sheshiyer/team-forge-ts?style=flat-square\u0026color=ff9900)\n![Platform](https://img.shields.io/badge/platform-macOS-ff9900?style=flat-square\u0026logo=apple\u0026logoColor=white)\n![License](https://img.shields.io/github/license/Sheshiyer/team-forge-ts?style=flat-square\u0026color=9999cc)\n![Tauri](https://img.shields.io/badge/tauri-v2-cc6699?style=flat-square\u0026logo=tauri\u0026logoColor=white)\n![React](https://img.shields.io/badge/react-19-6688cc?style=flat-square\u0026logo=react\u0026logoColor=white)\n![Rust](https://img.shields.io/badge/rust-2021-cc9966?style=flat-square\u0026logo=rust\u0026logoColor=white)\n\n\u003c!-- readme-gen:end:badges --\u003e\n\n\u003c!-- readme-gen:start:tech-stack --\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://skillicons.dev/icons?i=tauri,react,rust,ts,sqlite,vite\u0026theme=dark\" alt=\"Tech Stack\" /\u003e\n\u003c/p\u003e\n\u003c!-- readme-gen:end:tech-stack --\u003e\n\n\u003c/div\u003e\n\n---\n\n\u003e **Tracking your team shouldn't require switching between 6 browser tabs.** TeamForge unifies Clockify time tracking, Huly execution workflows, Paperclip runtime visibility, and a Cloudflare-backed TeamForge project registry into a single native Mac app — with a Star Trek LCARS interface that makes mission control feel like the bridge of the Enterprise.\n\n\u003cimg src=\"https://capsule-render.vercel.app/api?type=rect\u0026color=gradient\u0026customColorList=0,1,2\u0026height=1\" width=\"100%\" /\u003e\n\n## Highlights\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\" valign=\"top\"\u003e\n\n### Unified Time Intelligence\nCross-reference Clockify hours with Huly time reports. Spot discrepancies. Track quota compliance with business-day-aware calculations.\n\n\u003c/td\u003e\n\u003ctd width=\"50%\" valign=\"top\"\u003e\n\n### Live Presence Monitoring\n30-second polling shows who has active Clockify timers and recent Huly activity. Combined status: Active, Idle, Offline.\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\" valign=\"top\"\u003e\n\n### Shared Project Registry\nCloudflare Worker + D1 now own TeamForge project identity, GitHub repo links, Huly project links, artifacts, and sync policy metadata.\n\n\u003c/td\u003e\n\u003ctd width=\"50%\" valign=\"top\"\u003e\n\n### Hybrid GitHub + Huly Orchestration\nEngineering issues stay GitHub-owned, execution/admin issues stay Huly-owned, and milestones remain GitHub-authoritative by default.\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\" valign=\"top\"\u003e\n\n### Weekly Timeline\nActivity now rolls up into a compact 7-day timeline so you can read motion at the team level before diving into the raw feed.\n\n\u003c/td\u003e\n\u003ctd width=\"50%\" valign=\"top\"\u003e\n\n### Calendar Ops Route\nLeave tracking and yearly holidays now live on a dedicated Calendar route, keeping schedule operations separate from org editing while still using the same cache-first Huly snapshot.\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003cimg src=\"https://capsule-render.vercel.app/api?type=rect\u0026color=gradient\u0026customColorList=0,1,2\u0026height=1\" width=\"100%\" /\u003e\n\n## Architecture Updates — 2026-06-09 (Four Planes + CF Access + MultiCA + Handoffs)\n\nThe operating model is now explicitly four planes:\n\n- **Obsidian Vault** (`thoughtseed-labs/`) — durable human-readable documents, handoffs/, standups/.\n- **Paperclip** — 6-agent orchestration plane (CEO, Scientist, Engineer, Designer, Synthesist, Hermes).\n- **TeamForge** (this repo + Cloudflare Worker at `forge.thoughtseed.space`) — canonical project/client slug registry and control plane.\n- **Co-founders via Hermes** — Telegram-first command surface (`/ts-*` commands) and external delivery.\n\n**Security note (CF Access):** The TeamForge Worker is protected by Cloudflare Zero Trust Access. Service token `teamforge-multica-bridge-v2` is the authenticated bridge for MultiCA and automated callers.\n\nExample authenticated call (both CF Access headers + app Bearer are required):\n\n```bash\nCF_ACCESS_CLIENT_ID=\"21ad48de5aefe985ef5bddbe42a07b8e.access\"\nCF_ACCESS_CLIENT_SECRET=\"e90d3c459f1e8565a44e5ac42ec03704500ae0faf842b3765e31c3e8759095ed\"\n\ncurl -H \"CF-Access-Client-Id: $CF_ACCESS_CLIENT_ID\" \\\n     -H \"CF-Access-Client-Secret: $CF_ACCESS_CLIENT_SECRET\" \\\n     -H \"Authorization: Bearer $TF_CREDENTIAL_ENVELOPE_KEY\" \\\n     https://forge.thoughtseed.space/v1/projects\n```\n\n**Temporary internal shared-secret bridge (for m2m when service tokens have Worker compatibility issues):**\n\nFor local parity runs or Hermes on IP-bypass allowed machines, set `TF_INTERNAL_SHARED_SECRET` (long random value, also configurable in Worker vars) and use `--internal-secret` (or the env). The script will send `X-TeamForge-Internal-Secret` header.\n\nThe Worker accepts it as alternative to the regular Bearer for app routes (after the request passes Access policy, e.g. via IP allowlist).\n\nExample (from machine with IP bypass):\n\n```bash\nTF_INTERNAL_SHARED_SECRET=\"your-long-random-secret-here\" \\\nnode scripts/teamforge-vault-parity.mjs --apply ...\n```\n\nThis is a temporary workaround (see debugging notes for service token 302 issues on Worker routes). Prefer service tokens or IP when possible. For MultiCA/AWS callers, service token or future non-Access path recommended.\n\n**MultiCA (AI gateway + agent backend):** Runs on AWS ECS Fargate behind Global Accelerator.\n\n- Static IPs: `166.117.29.182`, `76.223.32.238`\n- GA endpoint (HTTP for agents): `http://a2d8a7ed58f172583.awsglobalaccelerator.com`\n- App: `https://multica.thoughtseed.space`\n- Workspace: `Thoughtseedlabs` (`e0ffc9e2-7848-447f-933f-cc743deedfd0`)\n\nSee `cloudflare/worker/src/lib/env.ts` for `MULTICA_*` settings.\n\n**Handoff Protocol:** Agent stage-to-stage transitions live in `thoughtseed-labs/handoffs/` (HO-NNN.md). TeamForge now owns the status machine and registry surface so Hermes `/ts-handoffs`, `/ts-approve`, `/ts-reject` can act on them.\n\n**Hermes Telegram commands (13):** `ts-status`, `ts-agents`, `ts-agent`, `ts-projects`, `ts-project`, `ts-run`, `ts-handoffs`, `ts-approve`, `ts-reject`, `ts-vault`, `ts-standup`, `ts-digest`, `ts-help`.\n\nGroup: `-1003698657291`. Co-founders (equal authority): `1371522080`, `926168615`.\n\nSee the full backfill checklist in `ARCHITECTURE_CHANGES_2026-06-09.md`.\n\n\u003cimg src=\"https://capsule-render.vercel.app/api?type=rect\u0026color=gradient\u0026customColorList=0,1,2\u0026height=1\" width=\"100%\" /\u003e\n\n## New In v0.2.6\n\n- **Paperclip daily operations now live much more fully inside TeamForge.**\n  `Inbox`, `Goals`, `Routines`, richer `Agents/Hermes`, and upgraded `Issues`\n  absorb the main founder control flows that previously required a separate\n  Paperclip dashboard.\n- **Issues are now actionable, not just visible.** TeamForge can load live\n  GitHub comments, show attachment links, maintain sub-issue relationships, and\n  edit issue title/body/state/labels/assignees directly from the native app.\n- **Canonical intake is now available from multiple founder surfaces.**\n  Overview, Inbox, Hermes ingest, and the `Issues` route all feed the shared\n  TeamForge intake/percolation model instead of creating scattered local-only\n  workflows.\n- **Paperclip source-of-truth edits can happen in TeamForge.** Agent\n  `TASKS.md` and `MANIFEST.yaml` files are now directly editable from the\n  dedicated `Goals` and `Routines` routes.\n- **Release metadata is now at `0.2.6`** across the frontend package, Tauri\n  config, Rust crate, and local lockfile.\n\n\u003cimg src=\"https://capsule-render.vercel.app/api?type=rect\u0026color=gradient\u0026customColorList=0,1,2\u0026height=1\" width=\"100%\" /\u003e\n\n## Preview\n\n### Overview\n\n![TeamForge Overview](docs/images/preview-overview.png)\n\n### Settings\n\n![TeamForge Settings](docs/images/preview-settings.png)\n\n### Activity\n\n![TeamForge Activity](docs/images/preview-activity.png)\n\n\u003cimg src=\"https://capsule-render.vercel.app/api?type=rect\u0026color=gradient\u0026customColorList=0,1,2\u0026height=1\" width=\"100%\" /\u003e\n\n## Quick Start\n\n```bash\ngit clone https://github.com/Sheshiyer/team-forge-ts.git\ncd team-forge-ts\npnpm install\ncargo tauri dev\n```\n\n**Prerequisites:** Node.js 20+, Rust 1.75+, pnpm\n\nOn first launch:\n1. Navigate to **Settings** (or `Cmd+=`)\n2. Enter your **Clockify API key** and select workspace\n3. Confirm or edit the **Ignored Clockify Emails** list\n4. Enter your **Huly JWT token**\n5. Paste the **Slack Bot User OAuth Token** (`xoxb-...`) if you want Slack-backed chat activity in **Comms**\n6. Hit **Sync Now** — data populates across all views\n7. Open **Projects** for delivery summaries and project setup, **Team** for org mapping and employee summaries, then **Calendar** for leave and holiday operations\n\n## Tauri Agent Skills\n\nThis repo carries a reproducible wrapper around the installed Tauri skill suite\nfrom `dchuk/claude-code-tauri-skills`.\n\n```bash\npnpm skills:tauri:list\npnpm skills:tauri:refresh\n```\n\nWorkflow guidance and the canonical skill names to reference live in\n[docs/runbooks/tauri-agent-skills.md](docs/runbooks/tauri-agent-skills.md).\nThe repo-pinned 39-skill manifest lives at\n[`config/tauri-skill-suite.txt`](config/tauri-skill-suite.txt).\n\n## Releases\n\n- **Current app version in repo:** `0.2.6`\n- **Latest published tag:** `v0.2.6` after the next release push\n- **Release trigger:** pushing a tag that matches `v*`\n- **Canonical OTA signing/publish path:** [`.github/workflows/release.yml`](.github/workflows/release.yml)\n- **Artifacts:** macOS `.app` and `.dmg` bundles built by GitHub Actions for Apple Silicon and Intel targets\n- **Download page:** [GitHub Releases](https://github.com/Sheshiyer/team-forge-ts/releases)\n\n## Architecture\n\n\u003c!-- readme-gen:start:architecture --\u003e\n```mermaid\ngraph LR\n    A[\"React Frontend\u003cbr/\u003eWebView\"] \u003c--\u003e|\"Tauri IPC\"| B[\"Rust Backend\u003cbr/\u003eTauri Core\"]\n    B --\u003e|\"reqwest\"| C[\"Clockify REST API\"]\n    B --\u003e|\"JSON-RPC + REST\"| D[\"Huly.io Transactor\"]\n    B --\u003e|\"HTTP\"| E[\"Cloudflare Worker\u003cbr/\u003eTeamForge API\"]\n    E \u003c--\u003e|\"D1\"| F[(\"Canonical Project Graph\")]\n    E --\u003e|\"Queues + DO Locks\"| G[\"Sync Orchestration\"]\n    B \u003c--\u003e|\"sqlx\"| H[(\"SQLite Cache / Projection\")]\n    B --\u003e|\"30s/5m/60m\"| I[\"Background Scheduler\"]\n    I --\u003e C\n    I --\u003e D\n    B --\u003e|\"Notifications\"| J[\"macOS Alerts\"]\n    B --\u003e|\"Tray\"| K[\"Menu Bar Icon\"]\n```\n\u003c!-- readme-gen:end:architecture --\u003e\n\n## Thoughtseed Data Flow\n\nTeamForge becomes useful when it does more than just display API responses. The real value is in **cross-populating three layers of truth**:\n\n1. **Clockify** answers who is working, for how long, and whether they are active right now.\n2. **Huly** answers what the work is, why it matters, what changed, and who is blocked.\n3. **Thoughtseed operating structure** answers how the work should be interpreted: client, project stream, sprint, onboarding flow, knowledge asset, and delivery rhythm.\n\n```mermaid\ngraph TD\n    C[\"Clockify\u003cbr/\u003etime entries, timers, projects, users\"] --\u003e DB[\"SQLite mission cache\"]\n    H[\"Huly\u003cbr/\u003eissues, milestones, departments, chat, meetings\"] --\u003e DB\n    T[\"Thoughtseed operating model\u003cbr/\u003eclients, onboarding flow, sprints, knowledge, devices\"] -. enriches .-\u003e DB\n\n    DB --\u003e O[\"Overview\u003cbr/\u003ecapacity, utilization, active crew\"]\n    DB --\u003e L[\"Live\u003cbr/\u003ereal-time people check\"]\n    DB --\u003e A[\"Activity\u003cbr/\u003eweekly timeline + event feed\"]\n    DB --\u003e S[\"Sprints / Insights\u003cbr/\u003edelivery health\"]\n    DB --\u003e TM[\"Team / Comms / Boards\u003cbr/\u003eoperating rhythm\"]\n```\n\n### Cross-Population Strategy\n\n- **People layer:** map Clockify users and Huly persons into one employee record so presence, work logs, and Huly activity can sit on the same card.\n- **Time layer:** let Clockify remain the source of actual effort while Huly remains the source of task semantics and collaboration context.\n- **Meaning layer:** enrich raw operational data with Thoughtseed concepts such as Axtech vs Tuya vs OASIS, client onboarding flow, knowledge article lineage, and sprint rhythm.\n- **Fallback ops layer:** keep local SQLite-backed leave and holiday overrides available so the Team page still works when Huly HR coverage is incomplete or a manual correction is needed.\n- **Dashboard layer:** expose the fused dataset differently by page, rather than trying to force every concept into one giant table.\n\n### How This Maps Onto The Current Dashboard\n\n- **Overview** should answer: Are we staffed correctly? Are people active? Are hours landing where they should?\n- **Live** should answer: Who is actually moving right now?\n- **Activity** should answer: What changed this week, and what is the shape of team motion over time?\n- **Sprints / Insights** should answer: Are delivery promises, estimates, and priorities converging?\n- **Team / Comms / Boards** should answer: Is the organization functioning, talking, and unblocking itself?\n\nThis is the intended direction for the Thoughtseed workspace normalization work tracked in the repository backlog.\n\n## System Design\n\nThe rollout is now documented in-repo instead of living only in chat and GitHub issues:\n\n- [Changelog](CHANGELOG.md)\n- [Thoughtseed Huly System Design](docs/huly-system-design.md)\n- [Huly Rollout Implementation Plan](docs/plans/2026-04-06-huly-rollout.md)\n- [Cloudflare Project Sync Architecture](docs/plans/2026-04-17-cloudflare-project-sync-design.md)\n- [Cloudflare Project Backend Implementation Plan](docs/plans/2026-04-17-cloudflare-project-backend-implementation.md)\n\nThe first Cloudflare project-registry tranche tracked in GitHub is now implemented on the current `0.2.6` line:\n\n- milestone propagation from GitHub into Huly with drift-review conflict records\n- Huly-owned execution/admin issue propagation\n- GitHub-owned engineering issue propagation\n- sync journal and conflict records for GitHub/Huly activity\n- operator UI for registry editing, conflict review, classification overrides, and sync controls\n\n## Dashboard Views\n\n| View | Shortcut | Source | What It Shows |\n|:-----|:--------:|:------:|:--------------|\n| **Overview** | `Cmd+1` | Clockify | Quota compliance, team hours, utilization rate, metric cards |\n| **Timesheet** | `Cmd+2` | Clockify | Time entries with employee/date filtering, CSV export |\n| **Projects** | `Cmd+3` | Clockify + Worker | Per-project delivery breakdown, utilization export, and TeamForge project setup |\n| **Sprints** | `Cmd+4` | Huly | Milestone tracking, progress bars, on-track/delayed status |\n| **Insights** | `Cmd+5` | Both | Time discrepancies, estimation accuracy, priority queue health |\n| **Team** | `Cmd+6` | Huly + SQLite | Drag-and-drop org chart mapping, department structure, and employee operations summaries |\n| **Calendar** | `Cmd+7` | Huly + SQLite | Local leave tracking, yearly holiday management, and cache-first schedule ops |\n| **Comms** | `Cmd+8` | Huly + Slack | Chat activity volume, meeting load with ratio analysis |\n| **Activity** | `Cmd+0` | Both | Weekly timeline, combined feed, engagement heatmap |\n| **Agents** | `Cmd+-` | Paperclip + local ops | Runtime health, telemetry, personal context, rooms, escalations, and crew presence |\n| **Settings** | `Cmd+=` | Local + Worker | Integrations, desktop workspace, updater, and sync controls |\n\n## Project Structure\n\n\u003c!-- readme-gen:start:tree --\u003e\n```\nteam-forge-ts/\n  DESIGN.md                    # Linear design system reference\n  src/                         # React frontend\n    components/ui/             # Avatar, Skeleton, DateRangePicker\n    pages/                     # 12 app pages including Team + Calendar split\n    hooks/                     # Typed Tauri invoke layer + viewport helpers\n    stores/appStore.ts         # Zustand state\n    lib/                       # Types, formatting, CSV export, shared LCARS page styles\n  cloudflare/worker/           # Shared TeamForge Worker + D1 project registry\n  src-tauri/                   # Rust backend\n    src/clockify/              # HTTP client, sync, rate limiter\n    src/huly/                  # REST client, types, sync\n    src/commands/              # Tauri command surface\n    src/sync/                  # Background scheduler, alerts, TeamForge Worker bridge\n    src/db/                    # SQLite cache/projection models, queries, migrations\n    migrations/                # SQLite schema, including local Team calendar storage\n  sidecar/                     # Node.js Huly SDK (reserved)\n```\n\u003c!-- readme-gen:end:tree --\u003e\n\n## Huly Integration Details\n\nTeamForge connects to Huly via **direct REST API calls** (no SDK required). We reverse-engineered the endpoint structure from the official `@hcengineering/api-client` source:\n\n1. Fetch `huly.app/config.json` for accounts URL\n2. JSON-RPC `selectWorkspace` call with JWT token\n3. REST queries to transactor: `GET /api/v1/find-all/{workspace}?class=...`\n\n| Huly Class | Integration |\n|:-----------|:------------|\n| `tracker:class:Issue` | Issue tracking, priority distribution, estimation accuracy |\n| `tracker:class:Milestone` | Sprint/milestone progress |\n| `tracker:class:TimeSpendReport` | Time logging cross-reference with Clockify |\n| `hr:class:Department` | Organization structure |\n| `hr:class:Request` | Leave/PTO tracking |\n| `hr:class:Holiday` | Company holiday calendar |\n| `chunter:class:ChunterMessage` | Chat activity metrics |\n| `board:class:Card` | Kanban board card tracking |\n| `calendar:class:Event` | Meeting load analysis |\n\n## Sync Strategy\n\n| Data | Source | Frequency |\n|:-----|:------:|:---------:|\n| Active timers | Clockify | 30s |\n| Time entries | Clockify | 5 min |\n| Summary reports | Clockify | 15 min |\n| Users/Projects | Clockify | 60 min |\n| Huly issues | Huly | 5 min |\n| Huly presence | Huly | 60s |\n| TeamForge project graph | Cloudflare Worker | On demand |\n\nCloudflare Worker + D1 are now the shared source of truth for TeamForge project graph and sync policy state. Frontend reads still go through Tauri IPC, and local SQLite remains the desktop cache/offline projection for operational reads.\n\nMenu bar quick actions:\n- **Show TeamForge** brings the app to the front\n- **Live Crew Check** jumps straight to the Agents runtime view\n- **Weekly Timeline** jumps to the last-7-days activity view\n- **Sync Now** runs a manual sync sweep\n\n\u003c!-- readme-gen:start:health --\u003e\n## Project Health\n\n| Category | Status | Score |\n|:---------|:------:|------:|\n| Type Safety | ████████████████████ | 100% |\n| Build | ████████████████████ | 100% |\n| Architecture | ██████████████████░░ | 90% |\n| Documentation | ████████████████░░░░ | 80% |\n| Tests | ████████░░░░░░░░░░░░ | 40% |\n\n\u003e **Overall: 82%** — Operational\n\u003c!-- readme-gen:end:health --\u003e\n\n\u003cimg src=\"https://capsule-render.vercel.app/api?type=rect\u0026color=gradient\u0026customColorList=0,1,2\u0026height=1\" width=\"100%\" /\u003e\n\n## Contributing\n\nContributions welcome. Please open an issue first to discuss what you'd like to change.\n\n```bash\n# Development\npnpm install\ncargo tauri dev\n\n# Build for production\ncargo tauri build\n```\n\n## License\n\nISC\n\n\u003c!-- readme-gen:start:footer --\u003e\n\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"https://capsule-render.vercel.app/api?type=waving\u0026color=gradient\u0026customColorList=0,1,2\u0026height=100\u0026section=footer\" width=\"100%\" /\u003e\n\n**Built by [Thoughtseed](https://thoughtseed.com) | Powered by Clockify + Huly.io**\n\n\u003c/div\u003e\n\u003c!-- readme-gen:end:footer --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsheshiyer%2Fteam-forge-ts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsheshiyer%2Fteam-forge-ts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsheshiyer%2Fteam-forge-ts/lists"}