{"adoption": {"forks": 716, "observed_at": "2026-08-28T04:10:23.415421+00:00", "stars": 8550}, "canonical_url": "https://ross.abutalabs.com/products/kaneo", "card": {"archived": false, "artifact_type": "application", "description": "🎯 All you need. Nothing you don't. Open source project management that works for you, not against you.", "domain": ["developer-tools", "self-hosted", "web-development"], "enriched": true, "function": ["web-framework", "api-framework", "self-hosted", "workflow-automation", "webhook", "developer-tools"], "health_score": 100, "homepage": "https://kaneo.app/", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["usekaneo/kaneo"], "name": "usekaneo/kaneo", "platform": ["self-hosted", "cross-platform"], "pushed_at": "2026-08-26T02:59:14+00:00", "repo": "usekaneo/kaneo", "stars": 8550, "tags": ["kanban", "project-management", "issue-tracker", "jira-alternative", "linear-alternative", "hono", "react", "github-integration", "gitea-integration", "mit-license", "automation", "docker", "web-server", "typescript", "nodejs"], "topics": ["kanban", "project-management", "react", "self-hosted", "typescript", "hono", "issue-management", "issue-tracker", "jira-alternative", "linear-alternative", "mcp"], "urls": [], "use_cases": ["self-host a jira or linear alternative", "manage team tasks on a kanban board", "track issues and sync them with github", "host project management on my own servers", "simple lightweight task tracker for a small team", "replace bloated project management tools", "organize backlog and sprints with labels and priorities"], "what_it_is": "Kaneo is an open-source, self-hosted project management application with kanban boards, list views, labels, priorities, and GitHub/Gitea issue sync. It is built with a Hono/TypeScript API, a React/Tailwind frontend, and PostgreSQL, deployable via Docker Compose.", "when_to_avoid": ["you need advanced enterprise features like detailed reporting, resource management, or extensive integrations", "you prefer a fully managed solution without any hosting (though Kaneo Cloud exists, it is paid)", "you require mature ecosystem plugins or a long track record at enterprise scale"], "when_to_choose": ["you want full data ownership with a permissive MIT license and free self-hosting", "you prefer a minimal, fast tool over feature-heavy platforms like Jira", "you need GitHub or Gitea issue syncing with webhooks to Slack/Discord", "you want Docker-based deployment with SSO included even in the free tier"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/kaneo", "repo": "usekaneo/kaneo", "role": "main", "score": 83}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.415421+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:26:19.303671+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fccab7eb9f4b3531848b8c320416975f276908181aa9f5ebc4e4245c0bc9fd0", "fetched_at": "2026-08-28T04:10:23.415421+00:00", "kind": "readme", "missing": false, "url": "https://github.com/usekaneo/kaneo"}, {"content_hash": "e4114978f0b7d26d60acf190f80f78e57ffba12c825325b04e1460a3978f2526", "fetched_at": "2026-08-29T08:26:59.436983+00:00", "kind": "homepage", "missing": false, "url": "https://kaneo.app/"}, {"content_hash": "0ed3ffa2c11ea7aefc8bd582542f803dc135c9a57bfd2de723fce8bbe4a7707c", "fetched_at": "2026-08-29T08:26:59.442168+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/docs/core"}, {"content_hash": "7db1c98785e27e2924e5304313138ce6f723a80158c27dd0e88aaf703e6e826e", "fetched_at": "2026-08-29T08:26:59.444108+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/docs"}, {"content_hash": "c3fad72c36f07767dbf97f95adf38920bc831a45008fa704cd1494169b11dbc9", "fetched_at": "2026-08-29T08:26:59.440180+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/pricing"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.415421+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:26:19.303671+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fccab7eb9f4b3531848b8c320416975f276908181aa9f5ebc4e4245c0bc9fd0", "fetched_at": "2026-08-28T04:10:23.415421+00:00", "kind": "readme", "missing": false, "url": "https://github.com/usekaneo/kaneo"}, {"content_hash": "e4114978f0b7d26d60acf190f80f78e57ffba12c825325b04e1460a3978f2526", "fetched_at": "2026-08-29T08:26:59.436983+00:00", "kind": "homepage", "missing": false, "url": "https://kaneo.app/"}, {"content_hash": "0ed3ffa2c11ea7aefc8bd582542f803dc135c9a57bfd2de723fce8bbe4a7707c", "fetched_at": "2026-08-29T08:26:59.442168+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/docs/core"}, {"content_hash": "7db1c98785e27e2924e5304313138ce6f723a80158c27dd0e88aaf703e6e826e", "fetched_at": "2026-08-29T08:26:59.444108+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/docs"}, {"content_hash": "c3fad72c36f07767dbf97f95adf38920bc831a45008fa704cd1494169b11dbc9", "fetched_at": "2026-08-29T08:26:59.440180+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/pricing"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:26:19.303671+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fccab7eb9f4b3531848b8c320416975f276908181aa9f5ebc4e4245c0bc9fd0", "fetched_at": "2026-08-28T04:10:23.415421+00:00", "kind": "readme", "missing": false, "url": "https://github.com/usekaneo/kaneo"}, {"content_hash": "e4114978f0b7d26d60acf190f80f78e57ffba12c825325b04e1460a3978f2526", "fetched_at": "2026-08-29T08:26:59.436983+00:00", "kind": "homepage", "missing": false, "url": "https://kaneo.app/"}, {"content_hash": "0ed3ffa2c11ea7aefc8bd582542f803dc135c9a57bfd2de723fce8bbe4a7707c", "fetched_at": "2026-08-29T08:26:59.442168+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/docs/core"}, {"content_hash": "7db1c98785e27e2924e5304313138ce6f723a80158c27dd0e88aaf703e6e826e", "fetched_at": "2026-08-29T08:26:59.444108+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/docs"}, {"content_hash": "c3fad72c36f07767dbf97f95adf38920bc831a45008fa704cd1494169b11dbc9", "fetched_at": "2026-08-29T08:26:59.440180+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/pricing"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.415421+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.415421+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.415421+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:26:19.303671+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fccab7eb9f4b3531848b8c320416975f276908181aa9f5ebc4e4245c0bc9fd0", "fetched_at": "2026-08-28T04:10:23.415421+00:00", "kind": "readme", "missing": false, "url": "https://github.com/usekaneo/kaneo"}, {"content_hash": "e4114978f0b7d26d60acf190f80f78e57ffba12c825325b04e1460a3978f2526", "fetched_at": "2026-08-29T08:26:59.436983+00:00", "kind": "homepage", "missing": false, "url": "https://kaneo.app/"}, {"content_hash": "0ed3ffa2c11ea7aefc8bd582542f803dc135c9a57bfd2de723fce8bbe4a7707c", "fetched_at": "2026-08-29T08:26:59.442168+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/docs/core"}, {"content_hash": "7db1c98785e27e2924e5304313138ce6f723a80158c27dd0e88aaf703e6e826e", "fetched_at": "2026-08-29T08:26:59.444108+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/docs"}, {"content_hash": "c3fad72c36f07767dbf97f95adf38920bc831a45008fa704cd1494169b11dbc9", "fetched_at": "2026-08-29T08:26:59.440180+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/pricing"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.415421+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.415421+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:26:19.303671+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fccab7eb9f4b3531848b8c320416975f276908181aa9f5ebc4e4245c0bc9fd0", "fetched_at": "2026-08-28T04:10:23.415421+00:00", "kind": "readme", "missing": false, "url": "https://github.com/usekaneo/kaneo"}, {"content_hash": "e4114978f0b7d26d60acf190f80f78e57ffba12c825325b04e1460a3978f2526", "fetched_at": "2026-08-29T08:26:59.436983+00:00", "kind": "homepage", "missing": false, "url": "https://kaneo.app/"}, {"content_hash": "0ed3ffa2c11ea7aefc8bd582542f803dc135c9a57bfd2de723fce8bbe4a7707c", "fetched_at": "2026-08-29T08:26:59.442168+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/docs/core"}, {"content_hash": "7db1c98785e27e2924e5304313138ce6f723a80158c27dd0e88aaf703e6e826e", "fetched_at": "2026-08-29T08:26:59.444108+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/docs"}, {"content_hash": "c3fad72c36f07767dbf97f95adf38920bc831a45008fa704cd1494169b11dbc9", "fetched_at": "2026-08-29T08:26:59.440180+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/pricing"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.415421+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.415421+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.415421+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:26:19.303671+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fccab7eb9f4b3531848b8c320416975f276908181aa9f5ebc4e4245c0bc9fd0", "fetched_at": "2026-08-28T04:10:23.415421+00:00", "kind": "readme", "missing": false, "url": "https://github.com/usekaneo/kaneo"}, {"content_hash": "e4114978f0b7d26d60acf190f80f78e57ffba12c825325b04e1460a3978f2526", "fetched_at": "2026-08-29T08:26:59.436983+00:00", "kind": "homepage", "missing": false, "url": "https://kaneo.app/"}, {"content_hash": "0ed3ffa2c11ea7aefc8bd582542f803dc135c9a57bfd2de723fce8bbe4a7707c", "fetched_at": "2026-08-29T08:26:59.442168+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/docs/core"}, {"content_hash": "7db1c98785e27e2924e5304313138ce6f723a80158c27dd0e88aaf703e6e826e", "fetched_at": "2026-08-29T08:26:59.444108+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/docs"}, {"content_hash": "c3fad72c36f07767dbf97f95adf38920bc831a45008fa704cd1494169b11dbc9", "fetched_at": "2026-08-29T08:26:59.440180+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/pricing"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.415421+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.415421+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:26:19.303671+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fccab7eb9f4b3531848b8c320416975f276908181aa9f5ebc4e4245c0bc9fd0", "fetched_at": "2026-08-28T04:10:23.415421+00:00", "kind": "readme", "missing": false, "url": "https://github.com/usekaneo/kaneo"}, {"content_hash": "e4114978f0b7d26d60acf190f80f78e57ffba12c825325b04e1460a3978f2526", "fetched_at": "2026-08-29T08:26:59.436983+00:00", "kind": "homepage", "missing": false, "url": "https://kaneo.app/"}, {"content_hash": "0ed3ffa2c11ea7aefc8bd582542f803dc135c9a57bfd2de723fce8bbe4a7707c", "fetched_at": "2026-08-29T08:26:59.442168+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/docs/core"}, {"content_hash": "7db1c98785e27e2924e5304313138ce6f723a80158c27dd0e88aaf703e6e826e", "fetched_at": "2026-08-29T08:26:59.444108+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/docs"}, {"content_hash": "c3fad72c36f07767dbf97f95adf38920bc831a45008fa704cd1494169b11dbc9", "fetched_at": "2026-08-29T08:26:59.440180+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/pricing"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:26:19.303671+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fccab7eb9f4b3531848b8c320416975f276908181aa9f5ebc4e4245c0bc9fd0", "fetched_at": "2026-08-28T04:10:23.415421+00:00", "kind": "readme", "missing": false, "url": "https://github.com/usekaneo/kaneo"}, {"content_hash": "e4114978f0b7d26d60acf190f80f78e57ffba12c825325b04e1460a3978f2526", "fetched_at": "2026-08-29T08:26:59.436983+00:00", "kind": "homepage", "missing": false, "url": "https://kaneo.app/"}, {"content_hash": "0ed3ffa2c11ea7aefc8bd582542f803dc135c9a57bfd2de723fce8bbe4a7707c", "fetched_at": "2026-08-29T08:26:59.442168+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/docs/core"}, {"content_hash": "7db1c98785e27e2924e5304313138ce6f723a80158c27dd0e88aaf703e6e826e", "fetched_at": "2026-08-29T08:26:59.444108+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/docs"}, {"content_hash": "c3fad72c36f07767dbf97f95adf38920bc831a45008fa704cd1494169b11dbc9", "fetched_at": "2026-08-29T08:26:59.440180+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/pricing"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:26:19.303671+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fccab7eb9f4b3531848b8c320416975f276908181aa9f5ebc4e4245c0bc9fd0", "fetched_at": "2026-08-28T04:10:23.415421+00:00", "kind": "readme", "missing": false, "url": "https://github.com/usekaneo/kaneo"}, {"content_hash": "e4114978f0b7d26d60acf190f80f78e57ffba12c825325b04e1460a3978f2526", "fetched_at": "2026-08-29T08:26:59.436983+00:00", "kind": "homepage", "missing": false, "url": "https://kaneo.app/"}, {"content_hash": "0ed3ffa2c11ea7aefc8bd582542f803dc135c9a57bfd2de723fce8bbe4a7707c", "fetched_at": "2026-08-29T08:26:59.442168+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/docs/core"}, {"content_hash": "7db1c98785e27e2924e5304313138ce6f723a80158c27dd0e88aaf703e6e826e", "fetched_at": "2026-08-29T08:26:59.444108+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/docs"}, {"content_hash": "c3fad72c36f07767dbf97f95adf38920bc831a45008fa704cd1494169b11dbc9", "fetched_at": "2026-08-29T08:26:59.440180+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/pricing"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:26:19.303671+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fccab7eb9f4b3531848b8c320416975f276908181aa9f5ebc4e4245c0bc9fd0", "fetched_at": "2026-08-28T04:10:23.415421+00:00", "kind": "readme", "missing": false, "url": "https://github.com/usekaneo/kaneo"}, {"content_hash": "e4114978f0b7d26d60acf190f80f78e57ffba12c825325b04e1460a3978f2526", "fetched_at": "2026-08-29T08:26:59.436983+00:00", "kind": "homepage", "missing": false, "url": "https://kaneo.app/"}, {"content_hash": "0ed3ffa2c11ea7aefc8bd582542f803dc135c9a57bfd2de723fce8bbe4a7707c", "fetched_at": "2026-08-29T08:26:59.442168+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/docs/core"}, {"content_hash": "7db1c98785e27e2924e5304313138ce6f723a80158c27dd0e88aaf703e6e826e", "fetched_at": "2026-08-29T08:26:59.444108+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/docs"}, {"content_hash": "c3fad72c36f07767dbf97f95adf38920bc831a45008fa704cd1494169b11dbc9", "fetched_at": "2026-08-29T08:26:59.440180+00:00", "kind": "site_page", "missing": false, "url": "https://kaneo.app/pricing"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 43, "rhythm": 86}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 610, "days_push": 7, "days_rel": 12, "gap_med": 0, "n_releases_24m": 148}, "score": 83, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}