{
  "version": "2",
  "generatedAt": "2026-11-03T22:49:39.280Z",
  "listing": {
    "slug": "bookstackapp--bookstack",
    "name": "BookStack",
    "tagline": "Opinionated documentation wiki (shelves, books, chapters, pages) with .env config and a token REST API.",
    "shortTagline": "Opinionated documentation wiki",
    "description": "BookStack is a PHP/Laravel documentation platform that organizes content as shelves, books, chapters, and pages with WYSIWYG and markdown editors, roles and permissions, and many auth methods. Its REST API, documented at /api/docs on every instance, covers content, search, users, permissions, attachments, and audit log with token auth. MIT; development now lives on Codeberg.",
    "capabilities": [
      "adaptable",
      "operable"
    ],
    "vertical": "notes-knowledge",
    "alternativeTo": [
      "Confluence",
      "Notion"
    ],
    "shape": "business-app",
    "formFactor": "web-app",
    "executionModel": "deterministic",
    "provenance": "human-written",
    "codeStack": {
      "languages": [
        "PHP",
        "JavaScript"
      ],
      "frameworks": [
        "Laravel"
      ],
      "packageManager": "composer",
      "database": [
        "MySQL",
        "MariaDB"
      ],
      "hostingTarget": [
        "linux",
        "docker (community images)"
      ]
    },
    "modelStack": null,
    "repos": [
      {
        "url": "https://github.com/BookStackApp/BookStack",
        "owner": "BookStackApp",
        "name": "BookStack",
        "license": "MIT",
        "stars": 19018,
        "lastCommit": "2026-09-02"
      }
    ],
    "interface": {
      "kind": "api",
      "url": "https://demo.bookstackapp.com/api/docs",
      "official": true,
      "hosted": "local"
    },
    "operability": "official",
    "recommendedWrapper": null,
    "reach": [
      {
        "job": "Create and edit pages, chapters, books, and shelves",
        "reachable": true,
        "evidence": "api/docs resource groups Pages, Chapters, Books, Shelves"
      },
      {
        "job": "Search content",
        "reachable": true,
        "evidence": "Search resource"
      },
      {
        "job": "Attachments and image gallery",
        "reachable": true,
        "evidence": "Attachments and Image Gallery resources"
      },
      {
        "job": "Users, roles, and content permissions",
        "reachable": true,
        "evidence": "Users, Roles, Content Permissions resources"
      },
      {
        "job": "Tag content",
        "reachable": true,
        "evidence": "Tags resource plus tags on content payloads"
      },
      {
        "job": "Comments",
        "reachable": true,
        "evidence": "Comments resource listed in api/docs"
      },
      {
        "job": "Export pages and books (HTML, PDF, text, markdown)",
        "reachable": true,
        "evidence": "export endpoints on pages, chapters, books"
      },
      {
        "job": "Audit log and recycle bin",
        "reachable": true,
        "evidence": "Audit Log and Recycle Bin resources"
      },
      {
        "job": "Import content",
        "reachable": true,
        "evidence": "Imports resource"
      },
      {
        "job": "Diagrams (diagrams.net drawings) and WYSIWYG editing",
        "reachable": false,
        "evidence": "editor-side features; API takes HTML or markdown only"
      }
    ],
    "editions": [
      {
        "name": "Free",
        "price": null,
        "open": true,
        "distributions": [
          {
            "kind": "source",
            "url": "https://codeberg.org/bookstack/bookstack"
          },
          {
            "kind": "installable",
            "url": "https://www.bookstackapp.com/docs/admin/installation",
            "command": "see installation scripts for Ubuntu and Debian"
          }
        ]
      }
    ],
    "skills": {
      "kind": "none",
      "paths": [],
      "install": null,
      "note": "No SKILL.md, Claude Code plugin, or skills install target in the repo."
    },
    "customization": {
      "summary": ".env.example names the surface: APP_KEY, APP_URL, DB_HOST, DB_DATABASE, DB_USERNAME, DB_PASSWORD, MAIL_* for email, STORAGE_TYPE for uploads; the docs add AUTH_METHOD (standard, ldap, saml2, oidc), LDAP_*, OIDC_*, and theming through a themes folder. No code edits for a standard deployment; visual and logic overrides go through the documented theme system.",
      "envVars": [
        "APP_KEY",
        "APP_URL",
        "DB_HOST",
        "DB_DATABASE",
        "DB_USERNAME",
        "DB_PASSWORD",
        "MAIL_DRIVER",
        "MAIL_HOST",
        "MAIL_PORT",
        "MAIL_USERNAME",
        "MAIL_PASSWORD",
        "MAIL_FROM",
        "MAIL_FROM_NAME",
        "MAIL_ENCRYPTION",
        "STORAGE_TYPE",
        "AUTH_METHOD"
      ],
      "configFiles": [
        ".env"
      ],
      "promptFiles": [],
      "effort": "config-only",
      "editCount": 17
    },
    "useWhen": [
      "you need an internal manual or client documentation site with roles and SSO, without a per-seat price",
      "you want an agent to write and file runbooks into books and chapters over a token API"
    ],
    "accounts": [
      "LDAP, SAML2, or OIDC provider (optional)"
    ],
    "active": true,
    "lastActivity": "2026-09-02",
    "gotchas": [
      "Primary development moved to codeberg.org/bookstack/bookstack; GitHub is a mirror, and issues go to Codeberg",
      "Needs PHP and MySQL/MariaDB; the docker-compose.yml in the repo is for development, and Docker images are community-maintained (linuxserver.io, solidnerd)",
      "API tokens need the Access System API permission; default rate limit 180 requests per minute"
    ],
    "fit": {
      "adaptable": 3,
      "operable": 3
    },
    "evidence": {
      "formFactor": "README: Laravel web app; installation docs",
      "executionModel": "no model in the stack",
      "operability": "demo.bookstackapp.com/api/docs: official API with token auth and resource groups",
      "effort": ".env.example names; docs admin section",
      "editions": "MIT; no paid edition; sponsors only",
      "active": "GitHub mirror pushed 2026-09-02",
      "provenance": "2015 project, no agent markers"
    },
    "confidence": {
      "formFactor": 0.95,
      "executionModel": 0.95,
      "operability": 0.95,
      "effort": 0.9,
      "reach": 0.9,
      "editions": 0.95,
      "provenance": 0.6
    },
    "openQuestions": [
      "If the Curator wants an MCP entry point: pnocera/bookstack-mcp-server (84 stars, MIT, pushed 2026-08-22) leads on stars and breadth; ttpears/bookstack-mcp (31 stars, pushed 2026-08-27) is the runner-up with the more recent push"
    ],
    "sources": [
      {
        "url": "https://github.com/BookStackApp/BookStack",
        "foundBy": "sourcing:notes-knowledge:github"
      },
      {
        "url": "https://demo.bookstackapp.com/api/docs",
        "foundBy": "analysis"
      }
    ],
    "research": {
      "stage": "verified",
      "verdict": "unverified",
      "reason": "MIT, documented .env surface, official REST API with near-complete Reach; wrappers exist but are not needed for operability.",
      "disputed": []
    },
    "url": "apps/bookstackapp--bookstack.html",
    "coverage": "partial",
    "paid": false,
    "source": "research/verified/bookstackapp--bookstack.json"
  }
}
