Search by

tey / starter

JasperTey

Tenant-aware Laravel starter built for the Tey Labs fleet.

Package info

github.com/teylabs/starter

Type:project

pkg:composer/tey/starter

Fund package maintenance!

jaspertey

Statistics

Installs: 12

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 12


README

Built for the Tey Labs fleet. Public but unsupported: no support, no stability promise, use at your own risk.

The new-app template for tenant-aware Laravel apps, built on tey/kit with every kit feature added: workspace membership and invitations, versioned settings and Notes shared by session pages and MCP tools, Fortify sessions, Inertia/Vue pages, and Passport OAuth with PKCE. Maintained packages own their jobs; no production application or database is copied.

PHP 8.4 or 8.5 and Node 22 are required.

First run

composer setup

From a fresh clone (or laravel new app --using=tey/starter once the template is on Packagist), one command installs the dependencies, copies .env.example to .env, generates the key, creates database/database.sqlite, migrates, builds the frontend and creates the first local owner and workspace (php artisan starter:first-owner). It prompts for the owner's password; with --no-interaction it generates one and prints it once. Nothing is stored or seeded outside the local environment, and there are no default credentials. Then php artisan serve and sign in at /login, with the password or, locally, with Concierge's one-click "Sign in as owner@example.com" (CONCIERGE_LOCAL_LOGIN; Concierge never offers it outside the local environment).

laravel/tinker is a dev dependency (php artisan tinker).

Check

vendor/bin/pint --test
vendor/bin/phpunit --bootstrap vendor/autoload.php tests
composer fixture:check
composer test:browser
npm run typecheck && npm run build && npm test
sh bin/privacy-check.sh

The PHP suites run on SQLite memory. To run them on PostgreSQL, set TEST_DB_CONNECTION=pgsql and the DB_* variables for the run; both phpunit and composer fixture:check honour them and print the database in use. With Herd's PostgreSQL, for example:

createdb starter_test   # a disposable database: the tests wipe it
export TEST_DB_CONNECTION=pgsql DB_HOST=127.0.0.1 DB_PORT=5432 DB_DATABASE=starter_test DB_USERNAME=root DB_PASSWORD=
vendor/bin/phpunit --bootstrap vendor/autoload.php tests
composer fixture:check

DB_CONNECTION alone doesn't switch the tests, and DB_DATABASE must be set for the run; a database named in .env is never used.

CI checks Pint, runs the PHP suites on SQLite memory and on PostgreSQL, checks the template's feature files against kit:add on a clean Laravel app, and runs composer setup and the browser test on a fresh clone. See testing.

Status

v0.3 rebuilds the template on tey/kit 0.1. Not yet available: laravel new --using=tey/starter (not on Packagist yet), password reset (it needs mail, #24) and the deploy smoke command (#32). Not yet proven: PostgreSQL concurrency, jobs and files. See ROADMAP.md.

License

MIT, see LICENSE. The UI primitives and sign-in page come from Laravel's Vue starter kit (MIT, see resources/js/components/ui/LICENSE.md). Provided as is, with no support.

Docs

  • Architecture: tey/kit, the packages and the job each owns
  • Operations: settings and Notes, versions, intent keys, audit
  • Transports: session/Inertia and MCP/OAuth, scopes, consent
  • Lifecycle: install, kit features, migrations from 0.2 and updates
  • Deploy: the Laravel Cloud deploy commands, in order
  • Testing: gates and focused checks
  • llms.txt: index for coding agents
  • AGENTS.md: contributor and agent conventions

Machine-readable maps live in docs/*.json: mcp-capabilities.json (the MCP capability declaration, validated against the vendored schemas/mcp-capabilities.schema.json), package-map.json, conformance.json, feature-transports.json and generation-manifest.json.