CodeAFBuild a software company

Build a software company

Write one message to a global manager and a company of teams plans, builds and tests a feature.

You set the goal and the order of work. The company works out who does what.
  • product
  • backend and qa
  • api
  • web and docs
  • a feature team per service

This is the setup that makes CodeAF feel like a company rather than a chat. You end with three teams in one window, each with its own manager, and one global manager above them that you talk to. You write the goal once. Product writes the spec, backend builds it with unit tests, qa tests it end to end, and the global manager reports back with one table when all three are done.

Steps

Start in the repository you want the company to work on. Our run used taskboard, a small Python JSON API with unit tests.

  1. Type a first message, for example the one below, and press Enter. A team is made from conversations, so it needs at least one that has run.
We are turning taskboard into a small product. Read the README and summarise the repo in three lines.
  1. Press Alt+2 for the teams page, then N. In the New team card, clear the name, type product and press Enter. The card answers Made product · 1.
  2. With product chosen, press Shift+M to give it a manager, and send the new manager one message so it has a name the others can use:
You manage the product team for taskboard. Take this round's goal from the All teams manager when it arrives; reply ready.
  1. Press Alt+↑ to move the keys to the teams rail, press ↑ to All teams, then Enter and Shift+M. This is the global manager, the one conversation you will talk to from now on.
  2. Send it the whole plan in one message:
You run a small software company that builds taskboard (this repo). The product team already exists and has a manager. Start two more top-level teams with team_start (kind team), each with its own manager: backend and qa. The goal for this round: tasks get an optional due_date and GET /tasks?overdue=1 lists overdue open tasks. Product writes a one-page spec in docs/SPEC.md. Backend implements the spec in taskboard/ with unit tests. QA writes tests/test_api.py that starts the server on a free port and checks the new endpoint end to end. Each team manager may hire at most 2 members with team_start. Order: product first, backend when the spec exists, qa when backend reports done. When all three report, give me one table: team, delivered, files, status.

What you see

Within a minute the chat says ◆ started @backend and ◆ started @qa, and the rail grows ● backend ◆ and ● qa ◆. Press Alt+V to watch every conversation at once: product writes docs/SPEC.md, backend's tile says it is reading the spec before it implements, and qa holds until it gets its go. When qa reports, the global manager runs the suite and writes the table: product, backend and qa, what each delivered, the files, and Done on every row.

Approvals are off by default, so managers start their teams and members at once. Press Alt+A in a manager's conversation if you want each start to wait on a card that you allow or deny.

In our run

Twelve minutes from the one message to the delivered table, for about $0.70. The company left a 28-line docs/SPEC.md, the due_date and overdue code, and an 85-line tests/test_api.py, and python3 -m unittest ran 14 tests, all passing.

Make it yours

  • Cap the company. In /settings, on the Teams tab, set daily cap per team. All teams is a team too, so the cap covers the whole company as one pool. When it is reached you get one card, Raise to $4 or Stop for today, and nothing new starts until you answer. See Budgets at every level.
  • Different teams. Swap product, backend and qa for the shape of your product: api, web and docs, or one team per service. Keep the order line; it is what makes each team wait for the one before it.
  • Grow it round by round. The company stays in the window. Send the global manager the next goal, and the next, and connect the teams with a standing rule as in Connect teams.

Go further

Put a manager over other managers: Split a team under a second manager with one sentence, or put one manager over every team you run.

Coming soon: describe the org you want and CodeAF builds it: teams, managers, budgets, standing orders.