PHPackages                             non-convex-labs/laravel-commonplace - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. non-convex-labs/laravel-commonplace

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

non-convex-labs/laravel-commonplace
===================================

A personal markdown knowledge vault for Laravel — wikilinks, version history, semantic search, and MCP for Claude Code.

v0.2.0(2mo ago)40[3 issues](https://github.com/non-convex-labs/laravel-commonplace/issues)[4 PRs](https://github.com/non-convex-labs/laravel-commonplace/pulls)MITPHPPHP ^8.4CI passing

Since May 17Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/non-convex-labs/laravel-commonplace)[ Packagist](https://packagist.org/packages/non-convex-labs/laravel-commonplace)[ Docs](https://github.com/non-convex-labs/laravel-commonplace)[ RSS](/packages/non-convex-labs-laravel-commonplace/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (2)Dependencies (12)Versions (12)Used By (0)

laravel-commonplace
===================

[](#laravel-commonplace)

[![Latest Version](https://camo.githubusercontent.com/cdac456b3cec4749445c8de5188e284a6e9a98c9afa04ec1cb0828c746f2ee14/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6e6f6e2d636f6e7665782d6c6162732f6c61726176656c2d636f6d6d6f6e706c6163652e737667)](https://packagist.org/packages/non-convex-labs/laravel-commonplace)[![Tests](https://github.com/non-convex-labs/laravel-commonplace/actions/workflows/run-tests.yml/badge.svg)](https://github.com/non-convex-labs/laravel-commonplace/actions/workflows/run-tests.yml)[![PHPStan](https://github.com/non-convex-labs/laravel-commonplace/actions/workflows/phpstan.yml/badge.svg)](https://github.com/non-convex-labs/laravel-commonplace/actions/workflows/phpstan.yml)[![License](https://camo.githubusercontent.com/ade87e9582be6e04819c338e8e58e9f2c7ed16712ce96a269c7a0361f5ed26a1/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6e6f6e2d636f6e7665782d6c6162732f6c61726176656c2d636f6d6d6f6e706c6163652e737667)](LICENSE)

A database-backed personal knowledge vault for Laravel. You get wikilinks, version history, semantic search, and an MCP server so Claude Code, Cursor, and Zed can read and write your notes. Same database as your app, same auth, same backup.

Quick look
----------

[](#quick-look)

Notes are Eloquent models. The `Commonplace` facade owns the writes, the wikilink graph, and search:

```
use NonConvexLabs\Commonplace\Facades\Commonplace;

Commonplace::createNote(
    path: 'meetings/q2-planning',
    content: 'Discussed [[roadmap-2026]] and [[hiring-plan]].',
    tags: ['meeting'],
    visibility: 'private',
    owner: $user,
);

Commonplace::getBacklinks('roadmap-2026', $user);
Commonplace::semanticSearch('q2 planning topics', $user);
```

Set `COMMONPLACE_MCP_ENABLED=true` and the same vault is reachable to any MCP-compatible AI client, scoped to the authenticated user.

What's in a name?
-----------------

[](#whats-in-a-name)

A commonplace book is a personal notebook for copying down quotes, ideas, observations, and references so you can find them again later. Marcus Aurelius kept one. So did Locke, Jefferson, and a long list of readers and thinkers who needed somewhere to put the bits worth keeping. This package is the same idea, scoped to a single user inside your Laravel app and backed by your database instead of a leather-bound notebook.

For more on the practice itself, see [Journal like a Renaissance Philosopher](https://youtu.be/2HCmv6aDYbQ) by ParkNotes (Parker Settecase).

Install
-------

[](#install)

```
composer require non-convex-labs/laravel-commonplace
```

Full setup lives in [docs/](docs/index.md). That covers migrations, trait wiring, embedding driver, and MCP transport.

Why a database vault, not a folder of `.md` files?
--------------------------------------------------

[](#why-a-database-vault-not-a-folder-of-md-files)

Most knowledge-vault tools are standalone apps backed by a folder of files. Sync, plugins, and auth get bolted on after the fact. This package flips that around. Notes are rows in your existing Laravel database. They're queryable by SQL, transactional, joinable, and gated by whichever guard your app already runs. You don't host a second silo, you don't run a file watcher, you don't manage separate API keys, and you don't hit "vault opened in another window" races.

See [docs/design.md](docs/design.md) for the full comparison against Obsidian, Logseq, Foam, and Dendron, plus the tradeoffs that come with it.

Status
------

[](#status)

Pre-1.0. APIs may shift between minor versions until 1.0 ships.

License
-------

[](#license)

MIT. See [LICENSE](LICENSE).

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance75

Regular maintenance activity

Popularity4

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 99.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1 days

Total

2

Last Release

67d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/22264982?v=4)[Aaddrick](/maintainers/aaddrick)[@aaddrick](https://github.com/aaddrick)

---

Top Contributors

[![aaddrick](https://avatars.githubusercontent.com/u/22264982?v=4)](https://github.com/aaddrick "aaddrick (143 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 commits)")

---

Tags

laravelmcpmarkdownKnowledge Basevaultpgvectorsemantic-searchwikilinksobsidiancommonplace

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/non-convex-labs-laravel-commonplace/health.svg)

```
[![Health](https://phpackages.com/badges/non-convex-labs-laravel-commonplace/health.svg)](https://phpackages.com/packages/non-convex-labs-laravel-commonplace)
```

###  Alternatives

[tempest/framework

The PHP framework that gets out of your way.

2.2k34.4k16](/packages/tempest-framework)[spatie/laravel-pdf

Create PDFs in Laravel apps

1.0k4.8M48](/packages/spatie-laravel-pdf)[guava/filament-knowledge-base

A filament plugin that adds a knowledge base and help to your filament panel(s).

209151.3k2](/packages/guava-filament-knowledge-base)[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3914.8k](/packages/rawilk-profile-filament-plugin)[spatie/laravel-openapi-cli

Create a Laravel command for your OpenAPI spec(s). Works in apps and other packages. Useful for AI agents.

391.5k12](/packages/spatie-laravel-openapi-cli)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
