⭐ Found this useful? Give it a star on GitHub so more developers can find it.
FrankenPHP demos: runtime is selected with FRANKENPHP_MODE (worker default, or classic for per-request PHP / hot-reload). See docs/DEMO-FRANKENPHP.md.
Symfony bundle for a versionable team wiki: spaces, page trees, immutable revisions, diff, search, and Tiptap rich-text editing (Notion-like variant).
This bundle is FrankenPHP worker mode friendly.
- Wiki spaces scoped per team or user
- Pages with slug, parent/child tree, archive (revisions kept)
- Immutable revisions on every save
- Revision diff between any two versions
- Full-text search in title and current revision body (per space or all accessible spaces), with contextual excerpts
- Import / export — Outline and Notion Markdown trees (UI +
wiki:import/wiki:exportcommands) - Symfony AI (optional) — ask questions about wiki content with RAG context (
symfony/ai-bundle) WikiAccessCheckerInterface+WikiTeamMembershipResolverInterfacefor app ACL- Twig layout overrides + CSRF on POST actions
- Integrates TiptapEditorBundle (
variant: notionby default) - Manage UI look-and-feel via
nowo_wiki.web_ui(css_framework, optional hostlayout_template)
composer require nowo-tech/wiki-bundle nowo-tech/tiptap-editor-bundle# config/packages/nowo_wiki.yaml
nowo_wiki:
user_class: App\Entity\UserSee Installation.
make -C demo/symfony8 up
# Demo started at: http://localhost:8025 → /tools/wiki
make demo-smoke- Installation
- Configuration
- Usage
- Contributing
- Code of Conduct
- Changelog
- Upgrading
- Release
- Security
- Engram
- Spec-driven development
- GitHub Spec Kit
| Language | Coverage |
|---|---|
| PHP | 100% — make test-coverage |
| TypeScript | 100% — make test-ts (wiki assets) |
PHPUnit: 230 tests. Coverage threshold enforced via make test-coverage-100 / composer test-coverage-100.
MIT — see LICENSE.
