N AgentNava
AgentNava · Run

Projects

For work that takes more than one specialist.

Several agents, one goal, one folder

A project is for work that takes more than one specialist. You talk to the project, not to the agents on it.

const project = await ws.projects.create({
  name: 'Q3 vendor review',
  goal: 'Review each vendor contract for risk and produce one summary per vendor.',
  agents: [analyst.id, writer.id],
  managerInstructions: 'Check with me before anything goes to a customer.',
  grade: 'premium',
});

const conversation = await project.start();
console.log(await conversation.ask('Where are we on Acme?'));
Field
goalStanding context every agent on the project shares. It belongs to the project, which is what makes it more than a list of agents
gradeDecides for the whole team and beats each member's own. One piece of work, one class of thinking
managerInstructionsYours, kept apart from the generated half of the manager's prompt so neither overwrites the other

A project has no versions

Changing one reaches conversations already open, from the next turn:

await project.addAgent(lawyer.id);
await project.update({
  goal: '... and flag anything with an auto-renewal clause.',
});

That is the difference from an agent, where a conversation pins a version at start. Nothing to republish and nothing to restart.

One shared folder

The agents on a project share a single drive, unlike agent conversations which each get their own. That shared folder is the point: it is how work by one specialist reaches another.

await project.files();
await project.readFile('acme/summary.md');

Archiving and deleting

Archiving releases the project's machine and keeps its folder. Deleting takes the team, the conversations and the folder with it. Archive is for work that is finished when the output still matters.

await project.archive();
await project.delete();