{"id":50470065,"url":"https://github.com/meridiona/meridian","last_synced_at":"2026-08-03T23:00:45.785Z","repository":{"id":361436855,"uuid":"1230547152","full_name":"Meridiona/meridian","owner":"Meridiona","description":"Your work logs itself. Meridian watches what you build - no prompts, no timers - classifies every session into the right task, and auto-updates Jira, Linear, and GitHub Issues. All data stays on your machine.","archived":false,"fork":false,"pushed_at":"2026-07-28T20:07:09.000Z","size":129265,"stargazers_count":18,"open_issues_count":27,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-28T20:08:26.544Z","etag":null,"topics":["automation","developer-tools","jira","linear","local-first","macos","productivity","project-management","rust","time-tracking"],"latest_commit_sha":null,"homepage":"https://meridiona.com","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Meridiona.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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-05-06T05:20:15.000Z","updated_at":"2026-07-28T13:20:56.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Meridiona/meridian","commit_stats":null,"previous_names":["meridiona/meridian"],"tags_count":233,"template":false,"template_full_name":null,"purl":"pkg:github/Meridiona/meridian","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Meridiona%2Fmeridian","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Meridiona%2Fmeridian/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Meridiona%2Fmeridian/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Meridiona%2Fmeridian/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Meridiona","download_url":"https://codeload.github.com/Meridiona/meridian/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Meridiona%2Fmeridian/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36254488,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-08-03T02:00:06.975Z","response_time":56,"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":["automation","developer-tools","jira","linear","local-first","macos","productivity","project-management","rust","time-tracking"],"created_at":"2026-06-01T10:00:25.683Z","updated_at":"2026-08-03T23:00:45.779Z","avatar_url":"https://github.com/Meridiona.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# Meridian\n\n**Your project management — handled, quietly.**\n\n[![CI](https://github.com/Meridiona/meridian/actions/workflows/ci.yml/badge.svg)](https://github.com/Meridiona/meridian/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n[![Platform: macOS | Windows](https://img.shields.io/badge/platform-macOS%20%7C%20Windows-111111.svg)](#install)\n[![Built with Rust](https://img.shields.io/badge/built%20with-Rust-dea584.svg)](https://www.rust-lang.org/)\n\n\u003c/div\u003e\n\nYou finish something good — and then you have to go *log* it. Update the status. Write the standup. Drag the card. Meridian makes that second job disappear.\n\nIt runs quietly on your Mac or PC, understands what you're working on, and keeps your tickets in **Jira, GitHub Issues, and Linear** current — so you never start a timer, fill out a form, or drag a card again.\n\nNot a time tracker you fill out. It's a private timeline of your day - browse it anytime to see what you actually did, task by task - plus a background layer that keeps your project management honest while you stay in the work.\n\n## Demo\n\nhttps://github.com/user-attachments/assets/501f41e6-aa89-404b-b430-a0b8b59c198e\n\n---\n\n## Why\n\nEvery week, hours vanish into the work *about* the work — the status updates, the time logs, the standups, the cards. None of it is hard. It's just relentless, and it pulls you out of flow every single time.\n\nBut everything needed to do it already exists in what you just did — the code you wrote, the PRs you reviewed, the branch you're on. Meridian reads that context, works out which task it belongs to, and puts the update where it goes. The busywork doesn't get faster. It gets gone.\n\n- **Zero effort** — no timers, no forms, no prompts. It just runs.\n- **Local-first** — capture, OCR, and session structuring happen on your machine. The AI that summarises your work and matches it to tickets runs through the coding-agent CLI you already use (Claude, Codex, Cursor, Copilot) or a cloud LLM you choose; the ticket updates you approve go straight to your own trackers. ([Privacy](#privacy))\n- **Correct by design** — a wrong task assignment is worse than no feature. Accuracy is the point.\n\n## How it works\n\n```\n   capture            classify             sync\n your activity  →   which task is   →   your tracker\n  (on-device)        this?               (you approve)\n```\n\n1. **Capture** — Meridian bounds your activity into clean, app-based work sessions, accurate across sleep, idle, and restarts.\n2. **Classify** — Meridian labels each session and links it to the specific ticket it belongs to, using what's on screen, the branch you're on, and the tools in play. The matching runs through the AI CLI you already use (or a cloud LLM you configure).\n3. **Sync** — the matching ticket in Jira / GitHub Issues / Linear is updated for you. **Nothing posts without your approval.**\n\nA dashboard inside the Meridian app (open it from the menu-bar tray icon) shows your day as a timeline and per-app breakdown. A built-in [MCP server](SETUP.md#mcp-server) makes the same data available to AI tools like Claude and Cursor.\n\n## Install\n\n**Requirements:** macOS (Apple Silicon or Intel), or Windows 10/11 (x64).\n\n\u003e On macOS Meridian ships as a universal binary, so Apple Silicon and Intel are both native. The local embedder is CPU-only (not Metal-accelerated), so it behaves identically everywhere. **Linux is not supported.**\n\u003e\n\u003e Windows support is newer than macOS and one capability differs: notifications are plain title-and-body toasts, without the action buttons macOS shows, so a notification asking you to confirm something can be read but not answered from the toast itself. Everything else - capture, the timeline, tracker sync, auto-update - works the same.\n\n**macOS**\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/Meridiona/meridian/main/scripts/bootstrap.sh | bash\n```\n\n**Windows** (PowerShell)\n\n```powershell\nirm https://raw.githubusercontent.com/Meridiona/meridian/main/scripts/bootstrap.ps1 | iex\n```\n\nThis downloads the latest Meridian build, installs it, and launches it. The app stages its own background daemon on first run and opens the setup wizard — permissions (macOS only; Windows needs none), the AI that writes your summaries, and connecting your tracker. Updates install themselves from within the app.\n\nPrefer to do it by hand? From the [latest release](https://github.com/Meridiona/meridian/releases/latest), download `Meridian.dmg` (macOS) and drag **Meridian** to Applications, or `Meridian-setup.exe` (Windows) and run it.\n\n## Supported PM tools\n\nConnect one or more trackers and Meridian maps captured work sessions to tasks, then posts time-logged worklogs as comments on the task.\n\n| Tracker | Auth | Worklog mechanism | Cloud / on-prem |\n|---|---|---|---|\n| **Jira** | Browser OAuth (recommended) or Basic (URL + email + API token) | Native Jira worklog endpoint | Cloud (Atlassian) |\n| **GitHub** | `gh` CLI token (no PAT needed) or classic PAT | Issue comment (no native time-tracking API) | Cloud only |\n| **Linear** | Personal API key | Issue comment (no native time-tracking API) | Cloud only |\n| **Trello** | Browser OAuth | Card comment (no native time-tracking API) | Cloud only |\n| **Azure DevOps** | Personal Access Token (PAT) with Work Items Read \u0026 write scope | Work item comment (no native time-tracking API) | Cloud (`dev.azure.com`) + legacy (`*.visualstudio.com`) + on-premises (TFS/Azure DevOps Server) |\n\n### Azure DevOps quick-start\n\nJust two variables — paste your project URL from the browser and your PAT:\n\n```bash\n# Add to .env (or run meridian setup to be prompted interactively)\nAZURE_DEVOPS_URL=https://dev.azure.com/your-org/your-project\nAZURE_DEVOPS_PAT=your-pat-here\n```\n\n`AZURE_DEVOPS_URL` works for all three URL shapes: `dev.azure.com/org/project`, `org.visualstudio.com/project`, and on-premises servers — meridian auto-extracts the org and project.\n\nTo create a PAT: **User settings → Personal access tokens → New token**, scope: **Work Items → Read \u0026 write**.\n\n```bash\n# Verify tasks synced\nmeridian force-pm-sync\nsqlite3 ~/.meridian/meridian.db \"SELECT task_key, title FROM pm_tasks WHERE provider='azure_devops';\"\n```\n\n## Data location\n👉 **Full walkthrough — permissions, tracker setup, configuration, troubleshooting: [SETUP.md](SETUP.md).**\n\n## Quickstart\n\n```bash\nmeridian start     # bring everything up\nmeridian status    # check what's running\nmeridian logs -f   # watch the pipeline live\nmeridian doctor    # diagnose config / services / permissions\n```\n\nOpen the dashboard from the Meridian tray icon in the menu bar. Stop everything with `meridian stop`.\n\n\u003e **Nothing posts to your tracker automatically.** Meridian *drafts* worklogs and ticket updates; you review and approve each one in the dashboard. Approval is the only gate.\n\n## Privacy\n\nMeridian is built to keep your data yours:\n\n- **Capture and session structuring run on-device** — screen capture, OCR, and categorization happen locally; your screen content is not sent to Meridiana.\n- **Meridiana, the company, never receives your data.** There are no analytics servers and no default telemetry.\n- **The only outbound traffic is yours, and you control it:** approved ticket updates go directly from your machine to the trackers *you* connect (Jira, GitHub, Linear), and integration tokens are stored locally.\n- **AI summaries use the provider you choose:** matching work to tickets and drafting worklogs run through the coding-agent CLI you already use (Claude, Codex, Cursor, Copilot) or a cloud LLM you configure, so session text is sent to that provider. There is no on-device generative model.\n\nFull detail: [docs/privacy.md](docs/privacy.md).\n\n## Contributing\n\nMeridian is open source and contributions are welcome — bug reports, fixes, docs, and features. See **[CONTRIBUTING.md](CONTRIBUTING.md)** to get a dev environment running, and **[CLAUDE.md](CLAUDE.md)** for architecture and conventions. By participating you agree to our [Code of Conduct](CODE_OF_CONDUCT.md).\n\n## Build from source\n\n```bash\ngit clone https://github.com/Meridiona/meridian\ncd meridian\n./install.sh\n```\n\nBuilds the daemon and dashboard from source and registers the same services. See [SETUP.md](SETUP.md) for the development workflow, configuration reference, and MCP server setup.\n\n## Built on\n\nMeridian stands on excellent open-source work:\n\n- [**screenpipe**](https://screenpi.pe) — the capture crates Meridian's in-process capture is forked from (pinned at the last MIT release, 0.4.6).\n- [**Tauri**](https://tauri.app) — the framework that wraps the dashboard and tray into a single native app.\n- [**candle**](https://github.com/huggingface/candle) — the Rust ML framework running Meridian's local text-embedding model.\n\nThank you to these communities. 🙏\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeridiona%2Fmeridian","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmeridiona%2Fmeridian","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeridiona%2Fmeridian/lists"}