{"id":51142240,"url":"https://github.com/jtenner/metidos","last_synced_at":"2026-06-26T00:01:27.100Z","repository":{"id":365096602,"uuid":"1200638006","full_name":"jtenner/metidos","owner":"jtenner","description":"Metidos is a developer workflow system for running and managing AI coding agents across tasks, threads, and recurring jobs. It helps organize agent work with thread metadata, project-bound workspaces, scheduled cron-style automation, permissions, and handoff-friendly context so coding tasks can be tracked, resumed, and completed reliably.","archived":false,"fork":false,"pushed_at":"2026-06-15T20:29:48.000Z","size":8568,"stargazers_count":1,"open_issues_count":5,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-06-15T22:15:53.616Z","etag":null,"topics":["ai","ai-agents","ai-tools","automation","bun","coding-agents","developer-tools","git","local-first","react","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jtenner.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":".github/CODEOWNERS","security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-04-03T16:46:16.000Z","updated_at":"2026-06-15T20:27:39.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/jtenner/metidos","commit_stats":null,"previous_names":["jtenner/metidos"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/jtenner/metidos","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtenner%2Fmetidos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtenner%2Fmetidos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtenner%2Fmetidos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtenner%2Fmetidos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jtenner","download_url":"https://codeload.github.com/jtenner/metidos/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtenner%2Fmetidos/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34796761,"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-25T02:00:05.521Z","response_time":101,"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":["ai","ai-agents","ai-tools","automation","bun","coding-agents","developer-tools","git","local-first","react","typescript"],"created_at":"2026-06-26T00:01:26.229Z","updated_at":"2026-06-26T00:01:27.081Z","avatar_url":"https://github.com/jtenner.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Metidos\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/jtenner/metidos/actions/workflows/ci.yml\"\u003e\u003cimg src=\"https://github.com/jtenner/metidos/actions/workflows/ci.yml/badge.svg\" alt=\"CI status\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/jtenner/metidos/actions/workflows/codeql.yml\"\u003e\u003cimg src=\"https://github.com/jtenner/metidos/actions/workflows/codeql.yml/badge.svg\" alt=\"CodeQL status\"\u003e\u003c/a\u003e\n  \u003ca href=\"LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-Apache--2.0-blue.svg\" alt=\"License: Apache 2.0\"\u003e\u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/badge/status-pre--1.0-orange.svg\" alt=\"Status: pre-1.0\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"bird.png\" alt=\"Pixel art owl mascot for Metidos\" width=\"96\" height=\"96\"\u003e\n\u003c/p\u003e\n\nMetidos is a local workspace for developers who use AI coding agents. It brings Projects, Worktrees, Threads, Diffs, tasks, Plugins, and Cron Jobs into one calmer place so you can focus on the work instead of juggling terminals and tabs.\n\nThe name comes from *mētis*: practical wisdom, good judgment, and knowing the right move at the right time.\n\n![Metidos demo workspace showing fake projects, agent threads, diffs, plugins, and cron jobs](docs/images/readme-hero-demo.svg)\n\n*Demo screenshot with fake project names and generated data only.*\n\n## Status\n\nMetidos is pre-1.0 local developer tooling. Expect rough edges, changing APIs, and incomplete public-release polish. Keep backups of important local data, review Plugin and Provider access carefully, and do not treat Unsafe Mode or unreviewed Plugins as safe defaults.\n\n## What Metidos is\n\nMetidos combines:\n\n- a local Bun Backend for Projects, Git, persistence, Local Auth, Plugins, Cron Jobs, and runtime orchestration;\n- a Pi-powered Agent runtime adapter for model selection, tools, Sessions, and Thread execution;\n- a React/Tailwind Mainview for managing work across Projects and Worktrees.\n\nIt is designed for one Local Operator running a local installation, not for hosted multi-tenant use.\n\n## What Metidos helps with\n\n- Coordinate many AI coding Threads across multiple Projects and Worktrees.\n- Keep Agent work, human edits, Diffs, tasks, and Cron Jobs visible in one UI.\n- Connect Providers and approved local Plugins without hiding their Permissions.\n- Review file changes before they land.\n- Preserve useful context across sessions while keeping local data under operator control.\n\n## Visual feature tour\n\n![Metidos feature tour showing fake project, thread, diff, plugin, and cron examples](docs/images/readme-feature-tour.svg)\n\nThe generated tour image uses fake project names, fake provider state, fake schedules, and generated interface examples only. It highlights the everyday public-demo flow: choose a Project and Worktree, run or resume Agent Threads, inspect Diffs, review Plugin permissions, and schedule Cron Jobs without exposing private paths, usernames, hostnames, tokens, real repositories, branches, or customer/user data.\n\n![Metidos agent thread demo showing a fake safe-mode conversation and generated tool chips](docs/images/feature-agent-thread-demo.svg)\n\nThe Agent Thread demo is generated from fake prompts, fake project names, fake worktree paths, and safe-mode status examples only. It is intended for public docs and avoids real logs, provider output, local paths, hostnames, usernames, tokens, private branches, and customer/user data.\n\n![Metidos diff review demo showing fake file changes and generated review controls](docs/images/feature-diff-review-demo.svg)\n\nThe Diff Review demo is generated from fake file names, fake branches, and synthetic code/documentation changes only. It shows file selection, hunk review, and keep/discard controls without exposing private paths, usernames, hostnames, tokens, real repositories, private branches, or customer/user data.\n\n![Metidos plugin administration demo showing fake plugin review, permissions, settings, and reset controls](docs/images/feature-plugin-admin-demo.svg)\n\nThe Plugin Administration demo is generated from fake plugin names, fake permissions, fake settings state, and synthetic review controls only. It shows review-first approval, access groups, settings, reset-data, and disable states without exposing private paths, usernames, hostnames, tokens, real repositories, private branches, or customer/user data.\n\n![Metidos provider settings demo showing fake provider setup state and generated credential-safety controls](docs/images/feature-provider-settings-demo.svg)\n\nThe Provider Settings demo is generated from fake provider names, fake model IDs, loopback-only demo endpoints, and synthetic credential-safety controls only. It shows local, plugin-backed, and fake-provider first-run setup states without exposing private paths, usernames, hostnames, tokens, real repositories, private branches, or customer/user data.\n\n![Metidos cron workspace demo showing fake schedules, safe-mode status, and sanitized run history](docs/images/feature-cron-workspace-demo.svg)\n\nThe Cron Workspace demo is generated from fake schedules, fake project names, fake worktree paths, synthetic run outcomes, and safe-mode status examples only. It shows schedule review, run-now, edit, disable, and recent-run states without exposing private paths, usernames, hostnames, tokens, real repositories, private branches, or customer/user data.\n\n## Core concepts\n\n- **Projects** are high-level entries for one or more Worktrees.\n- **Worktrees** are concrete Git checkout contexts where Threads and tools operate.\n- **Threads** are Pi-powered agent execution sessions attached to a selected Project and Worktree.\n- **Diffs** show changed files so agent or human edits can be reviewed before they are kept.\n- **Cron Jobs** schedule future agent work.\n- **Plugins** are local, review-first extension folders approved by the Local Operator.\n- **Providers** connect Metidos and Pi to model services, including local, built-in, and plugin-backed providers.\n\n## Safety and scope\n\nMetidos is not a sandbox for arbitrary untrusted code, a replacement for code review and tests, or a stable plugin marketplace yet. Treat App Data, diagnostics, plugin-authored logs, provider credentials, and project paths as private local information.\n\n## Security model summary\n\nMetidos assumes a single **Local Operator** controls one local installation. Local Auth protects browser access with first-run setup, sessions, WebSocket tickets, optional TOTP, recovery codes, and step-up authentication for sensitive plugin actions.\n\nThe Bun Backend is the security authority. It validates sessions, owns provider credentials and Plugin Settings, enforces Project and Worktree path scope, applies filesystem containment checks, mediates network-capable features, and decides when Safe Mode or Unsafe Mode capabilities are available. The Mainview presents choices but does not grant security-sensitive access by itself.\n\nPlugins are local, review-first extensions. They require manifests, `AGENTS.md` guidance, operator approval, declared permissions, access groups for Thread-visible tools, settings validation, and secret redaction. Review file and network allowlists before enabling a plugin, and re-review after source changes.\n\nSafe Mode is the default for Threads and Cron Jobs. Unsafe Mode can broaden runtime capabilities, including shell or other risky local operations, and should only be enabled for narrow, trusted work. See [`docs/security-model.md`](docs/security-model.md) for the full model, including filesystem boundaries, network policy, remote access, backups, and safe issue reporting.\n\n## Documentation\n\nThe README is intentionally an overview. Setup, tutorial, and installer details live in the dedicated install guide and installer skill:\n\n- [`INSTALLATION.md`](INSTALLATION.md) — canonical installation guide and first-run tutorial.\n- [`.pi/skills/metidos-installation/SKILL.md`](.pi/skills/metidos-installation/SKILL.md) — interactive plan-first installer workflow.\n- [`docs/README.md`](docs/README.md) — full documentation index.\n\nUseful reference docs:\n\n- [`docs/architecture.md`](docs/architecture.md) — system architecture and data flows.\n- [`docs/security-model.md`](docs/security-model.md) — Local Auth, secrets, Plugins, filesystem, network, backups, and safe issue reporting.\n- [`docs/plugin-system.md`](docs/plugin-system.md) — Plugin System v1 overview.\n- [`docs/development.md`](docs/development.md) — contributor workflow, validation, and debugging.\n- [`docs/known-limitations.md`](docs/known-limitations.md) — current pre-1.0 product, launch-readiness, and operations limitations.\n- [`SUPPORT.md`](SUPPORT.md), [`SECURITY.md`](SECURITY.md), and [`ROADMAP.md`](ROADMAP.md) — support, disclosure, and project direction.\n\n## Repository map\n\n- `src/bun/` — Backend, persistence, Git, RPC handlers, Plugins, Cron Jobs, and runtime orchestration.\n- `src/mainview/` — browser UI.\n- `core_plugins/` — first-party plugin source.\n- `docs/` — operator, architecture, security, plugin, development, and release docs.\n- `.pi/skills/` — repo-local agent skills for workflows such as installation, commits, QA, research, and plugin authoring.\n- `.wiki/` — durable project knowledge and research notes.\n\n## License\n\nMetidos is released under the Apache License, Version 2.0. See [`LICENSE`](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjtenner%2Fmetidos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjtenner%2Fmetidos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjtenner%2Fmetidos/lists"}