KBMS Knowledge Platform
Security-first WordPress knowledge base and knowledge management system (KBMS) with private/public spaces, workflows, permission-aware search, REST APIs, knowledge graphs, feedback, privacy controls, and optional AI/RAG with grounded citations. Built for teams that need secure, governed, extensible documentation on WordPress.
by Shahin Ilderemi · github.com/ildrm/wordpress-kbms-knowledge-platform · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/ildrm/wordpress-kbms-knowledge-platform/archive/refs/heads/main.zipWordPress Knowledge Base & Knowledge Management System (KBMS)
KBMS 0.1.0 is a security-first WordPress knowledge-management foundation. It adds governed knowledge spaces, hierarchical knowledge items, workflow and verification services, permission-scoped search, typed relationships, bounded graph expansion, feedback, privacy controls, operational health checks, and an optional grounded AI pipeline.
This release is a production-oriented foundation, not a claim that every enterprise feature in the product backlog is complete. The exact implemented and deferred scope is recorded in requirements traceability.
Requirements
- WordPress 6.5 or newer
- PHP 8.1 or newer
- MySQL 5.7+/MariaDB 10.4+ as supported by WordPress
- Pretty permalinks recommended, but not required
Install
- Upload
wp-kbms-0.1.0.zipthrough Plugins → Add New → Upload Plugin, or copy this directory towp-content/plugins/wp-kbms. - Activate KBMS Knowledge Platform. Activation creates versioned per-site tables and role capabilities; it never deletes existing content.
- Open Knowledge → Spaces and create the first space.
- Create a Knowledge Item, assign its space and owner in Knowledge governance, then publish it.
- Add
[kbms_portal]to a page for the theme-independent knowledge portal.
Network activation runs the migration independently on every existing site. New multisite sites are migrated automatically. Deactivation retains data. Uninstall deletes data only when kbms_delete_data_on_uninstall was explicitly set to true before uninstalling.
Included in 0.1.0
- PSR-4 modular composition with no mandatory runtime dependencies
- custom capabilities and contributor/reviewer/manager roles
- public, internal, and private spaces with membership roles
- WordPress-native hierarchical knowledge, revisions, topics, and knowledge types
- queryable governance index for owner, reviewer, workflow, verification, sensitivity, language, review, expiry, and attributes
- optimistic workflow transitions and append-only audit records
- review expiry and notification scheduling
- permission constraints applied before native search retrieval and counts
- vendor-neutral search, LLM, embedding, vector-store, and reranker contracts
- grounded RAG with a permission recheck, bounded context, evidence threshold, controlled refusal, and citations
- typed relationships with duplicate and cycle protection; permission-filtered lazy graph API
- secured REST endpoints under
kbms/v1for search, AI, graph, relationships, feedback, and health - Gutenberg patterns, six knowledge templates, and recursion-bounded reusable variables
- responsive, RTL-safe portal and admin styling
- privacy exporter/eraser, retention batch, anonymous feedback throttling, and aggregate analytics without raw query storage
- SSRF URL policy, signed webhook verification, CSV formula neutralization, site health checks, and WP-CLI status commands
Secure defaults
Content without a valid space is absent from public/search indexes. Public drafts are private. Private-space metadata is excluded before search, graph, REST, AI context, and export delivery. AI routes are disabled unless the feature flag is enabled and require use_kbms_ai. With no provider, the assistant returns a controlled refusal and ordinary search continues.
Provider plugins can register an LLM adapter:
add_filter('kbms_llm_provider', function ($provider) {
return new Acme\Knowledge\CompanyLlmProvider();
});
The adapter must implement KBMS\AI\LLMProviderInterface; secrets remain server-side.
Development
composer install
composer lint
composer test
The release runtime uses its own small autoloader, so vendor/ is development-only and excluded from the ZIP. WordPress integration tests in tests/CoreBackend require the standard WordPress PHPUnit test environment and WP_TESTS_DIR; the default deterministic unit suite does not.
Documentation
- Architecture
- Operations and user guide
- Developer, REST, hooks, and integration guide
- Security, AI, and privacy
- Database model
- Permissions
- Requirements traceability
- Quality reviews and test report
- Risks and edge cases
- Changelog
License
GPL-2.0-or-later. See LICENSE.