Shared project settings: .larvyn/project.json
Commit .larvyn/project.json to share commands, dev-stack items, required plugins and agent worktree setup steps with everyone who opens the repository.
Some setup belongs to the whole team: the commands everyone runs, and what a fresh agent worktree needs before it can run a test. A .larvyn/project.json committed with the code gives everyone who opens the repository in Larvyn the same setup.
{
"apiVersion": 1,
"commands": [
{ "id": "fresh", "title": "Fresh database with demo data", "run": "php artisan migrate:fresh --seed" },
{ "id": "lint", "title": "Fix code style", "run": "vendor/bin/pint" }
],
"stack": [
{ "key": "stripe", "title": "Stripe webhooks", "argv": ["stripe", "listen", "--forward-to", "localhost:8000/stripe/webhook"] }
],
"plugins": ["larvyn.mailpit", { "id": "larvyn.horizon", "version": ">=1.0.0" }],
"worktree": {
"setup": ["composer install --no-interaction", "php artisan migrate --force"]
}
}
Fields
| Field | What it does |
|---|---|
apiVersion |
Always 1. |
commands |
Commands with an id, a title and the shell line to run. They show up in Ctrl K and in the Commands card of the Overview, and run in a project terminal as written. |
stack |
Extra long-running processes for the dev stack, next to the built-in ones: a key, a title and the argv to run. |
plugins |
The plugins the project needs, as "publisher.name" or { "id": …, "version": ">=1.2.0" }. If one is missing, off or the wrong version, the Overview says so and opens it in the Marketplace. |
worktree.setup |
Commands run one after another in every new agent worktree, in the agent’s own terminal, before the agent starts. |
Your commands, or the team’s
In the Commands card, the people icon moves a command between “only me” and the team’s file. Larvyn creates the file if there is none, and keeps everything else in it as it was.
Agent worktrees
Without worktree.setup, a new worktree has no vendor/ and an agent spends its first minutes running composer install. With it, the worktree is ready before the agent starts. If a step fails, the agent doesn’t start, and Relaunch starts it without the setup.
When the file changes
Larvyn picks up changes on its own, after a git pull or a branch switch. A wrong entry is skipped and listed. A file that doesn’t parse keeps the last version that loaded, and the Doctor shows why.