docs GitHub

Using Vyre

Project templates

A project template is the way a kind of work runs: stages, and in each stage the tasks that must be done, who does each, and how anyone knows it is done. A project started from a template follows it. A project started without one is just chats and files, like a Claude or ChatGPT project, and needs nothing from this page.

What a template holds

  • A name for its projects. noun: { one: "Matter", many: "Matters" }. A firm calls its projects Matters, an agency Campaigns. The app says "New matter" in the New menu, and a project started from the template shows "Matter" where it would say "Project". Leave it out and they are projects. Only the owner or an admin makes a new template; a member starts projects from the live ones.

  • Stages, in order. A stage moves on when its required tasks are done and, if the stage before it says moves_on_when, that condition holds on the project. Its owner (role:attorney or person:alex) may move it on early, with a reason that is kept.

  • Tasks in a stage. Each has a doer (role:researcher, teammate:research, person:alex or owner), what it produces (note, draft, decision, file, sent or fields), an optional checker, and a checklist that proves it done. A task can also name what needs a yes, who to ask when stuck, and the Connections it may use.

  • Roles, each optionally filled by an agent on the roster. At most one role is the project lead.

Every task gets a written brief from those choices: the goal and how it is known to be done, the context, what waits for a person's yes, who to ask, the checklist and the Connections. You write a brief by hand only when the generated one is not right.

Write, try, put live

  1. work.template.define stores a new draft version. Nothing runs from a draft.
  2. work.template.test shows every stage, task, doer, brief and checklist on a sample project. Nothing is created, sent or changed.
  3. work.template.golive puts a draft live. Only the template's owner or an admin can. The version that was live is retired.

An agent, or @Engineer, proposes the same step with flows.propose { what: "template", template, version }: one card in Now for the owner, and their yes puts the version live. In the app, /u/templates is the studio: the tree, Test mode, Go live and an editor that saves a new draft.

Kits can ship templates. work.template.library lists them and work.template.install adds one as a draft; the law-firm Kit ships Estate plan.

Start a project

In the app, open the template (Projects, Templates) and use Start a project: type the project's name, press Start project, and the new project opens with its team, its stages and the first stage's tasks in Now. The same thing for an assistant or a Flow is work.start-project { template, name }: it makes the project, adds the roles' agents as its teammates, pins the template's stages on the project, and makes the first stage's tasks. It is also a Flow step, "Start a project from a template", so a record reaching a stage can start one.

A running project keeps the version it started with. Putting a newer version live, or retiring one, changes no project that is already running. work.template.from-project makes a draft template from a project that ran one.

An agent's change to itself

An agent's instructions, skills, model, effort and tags change by conversation. Tell the agent, or tell your assistant. The agent proposes the change (flows.propose { what: "agent", agent, patch }), the agent's owner approves on one card, and the change is a version. agents.versions lists them and agents.update { agent, rollback: n } restores one. Nobody but a person edits an agent directly, and permissions (projects, credentials, a computer) are never part of a proposal.