{"adoption": {"forks": 151, "observed_at": "2026-08-28T04:04:03.096141+00:00", "stars": 1226}, "canonical_url": "https://ross.abutalabs.com/products/ziishaned-opus", "card": {"archived": false, "artifact_type": "application", "description": "Open source knowledge base application for Teams", "domain": ["documentation", "developer-tools", "self-hosted"], "enriched": true, "function": ["documentation", "authorization"], "health_score": 28, "homepage": null, "language": "JavaScript", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["ziishaned/opus"], "name": "ziishaned/opus", "platform": ["self-hosted", "php"], "pushed_at": "2025-03-27T03:54:01+00:00", "repo": "ziishaned/opus", "stars": 1226, "tags": ["wiki", "knowledge-base", "team-collaboration", "internal-docs", "confluence-alternative", "laravel", "acl", "slack-integration", "page-templates", "search", "web-server", "docker"], "topics": [], "urls": [], "use_cases": ["self-hosted wiki for my team's internal documentation", "open-source alternative to Confluence or Notion for a company knowledge base", "organize meeting notes, project plans, and technical docs in one searchable place", "team documentation tool with role-based permissions and email invites", "company intranet where departments share and tag knowledge pages", "internal knowledge base that notifies Slack when wikis are updated", "export team docs to PDF or Office files for sharing"], "what_it_is": "Opus is an open-source, self-hosted knowledge base web application for teams, where members create wikis and nested pages organized into spaces and tags. It ships with role-based ACL permissions, full-text search across the knowledge base, comments, favorites, watch settings, in-app and Slack notifications, reusable page templates, and PDF/Office export.", "when_to_avoid": ["You need a lightweight static documentation site generator rather than a full server-side application with a database", "You require real-time multi-user collaborative editing or a broad ecosystem of third-party integrations", "You need enterprise-grade support or a permissive standard license, given the custom (NOASSERTION) license and single-maintainer project"], "when_to_choose": ["Your team needs a centralized, self-hosted place for wikis, processes, and documentation with hierarchical spaces and pages", "You want built-in ACL roles, comments, favorites, watch notifications, and Slack updates without assembling separate tools", "You prefer a Docker-deployable open-source wiki with templates and PDF/Office generation for easy sharing"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/ziishaned-opus", "repo": "ziishaned/opus", "role": "main", "score": 29}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:03.096141+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:15:21.548981+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca6e0bb2859831a4686178a44aea7d8fc7e99f5b074058c67d19360ae9e755a9", "fetched_at": "2026-08-28T04:04:03.096141+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ziishaned/opus"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:03.096141+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:15:21.548981+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca6e0bb2859831a4686178a44aea7d8fc7e99f5b074058c67d19360ae9e755a9", "fetched_at": "2026-08-28T04:04:03.096141+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ziishaned/opus"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:15:21.548981+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca6e0bb2859831a4686178a44aea7d8fc7e99f5b074058c67d19360ae9e755a9", "fetched_at": "2026-08-28T04:04:03.096141+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ziishaned/opus"}], "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:04:03.096141+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:03.096141+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:03.096141+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:15:21.548981+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca6e0bb2859831a4686178a44aea7d8fc7e99f5b074058c67d19360ae9e755a9", "fetched_at": "2026-08-28T04:04:03.096141+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ziishaned/opus"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:03.096141+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:03.096141+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:15:21.548981+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca6e0bb2859831a4686178a44aea7d8fc7e99f5b074058c67d19360ae9e755a9", "fetched_at": "2026-08-28T04:04:03.096141+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ziishaned/opus"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:03.096141+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:03.096141+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:03.096141+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:15:21.548981+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca6e0bb2859831a4686178a44aea7d8fc7e99f5b074058c67d19360ae9e755a9", "fetched_at": "2026-08-28T04:04:03.096141+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ziishaned/opus"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:03.096141+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:03.096141+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:15:21.548981+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca6e0bb2859831a4686178a44aea7d8fc7e99f5b074058c67d19360ae9e755a9", "fetched_at": "2026-08-28T04:04:03.096141+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ziishaned/opus"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:15:21.548981+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca6e0bb2859831a4686178a44aea7d8fc7e99f5b074058c67d19360ae9e755a9", "fetched_at": "2026-08-28T04:04:03.096141+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ziishaned/opus"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:15:21.548981+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca6e0bb2859831a4686178a44aea7d8fc7e99f5b074058c67d19360ae9e755a9", "fetched_at": "2026-08-28T04:04:03.096141+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ziishaned/opus"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:15:21.548981+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca6e0bb2859831a4686178a44aea7d8fc7e99f5b074058c67d19360ae9e755a9", "fetched_at": "2026-08-28T04:04:03.096141+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ziishaned/opus"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 13, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3457, "days_push": 524, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 29, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}