Shape
Clone it and you have a site. Require it and you have a library. Same runtime either way — compact enough to inspect end to end.
- Content
-
.vltor Markdown with YAML frontmatter. Page index (JSON or SQLite). UUIDv7 identity, slug from the file path. Parsers for@html, Markdown, components. No database required for a content site. - Database
- ORM with relations, casts, soft deletes, scopes, events. Query builder, schema builder, versioned migrations. SQLite, MySQL, PostgreSQL.
- Tenancy
-
Host, path, or callback resolvers.
Content, views, storage, cache, sessions, and database isolate per tenant.
migrate:tenantswith batching and resume. - Modules
-
module.json: semver requires, topological load order, routes, views, and CLI commands declared in the manifest. Folio is a module on this runtime. - HTTP
- Named routes, groups, middleware pipelines. CSRF, sessions, rate limiting, ETag caching. Blade-like views. cURL client with retry and typed responses.
- Jobs
-
Database queue with retry, deduplication,
queue:work. Cron-style scheduler via CLI or web endpoint. - Ops
-
File, Redis, or APCu cache with tag invalidation.
PSR-3 logs. Standalone validator.
diagnose,optimize, config and route cache.
Runtime Composer: php ^8.4 · symfony/yaml · composer/semver · psr/log · psr/container
CLI
The binary is the product, not an afterthought.
Anvyr Loom 1.0.0
Cache cache:clear
Config config:get config:set config:cache config:publish
Database migrate migrate:tenants
Make make:module make:model make:command make:controller
Modules module:list module:enable module:compile module:provision
Pages page:list page:make page:publish index:rebuild
Queue queue:work
HTTP serve route:cache
System diagnose install optimize version schedule:run
Install
Clone the app. Or require the library.
# site
$ git clone https://github.com/anvyr/loom.git
$ cd loom
$ ./install.sh
$ ./loom serve
http://localhost:8000
# library
$ composer require anvyr/loom:^1.0
PHP 8.4+ · pdo mbstring json openssl
· optional curl redis apcu
Not this
- CMS Folio is the publishing product. Loom is the runtime.
- Laravel APIs Own the stack or own nothing.
- PHP 7 forever Current PHP. Legacy detours dropped early.