Commitwell

Commitwell is the forge and CI in a Smalti software factory. The CI panel shows a repository's recent runs on the canvas, so a session and the checks it triggered can be seen side by side.

Setup

The CI panel uses the Commitwell command line tool, cw. Smalti looks for it on PATH, then in ~/.local/bin, /opt/homebrew/bin and /usr/local/bin. Sign in once in a terminal with cw auth login. Smalti does not store Commitwell credentials; cw handles authentication and all network access.

The CI panel

Open it from the command palette (⌘K, then New CI Panel, alias ci). It uses the focused panel's directory, or the file tree root, and its title is CI · <repository>.

The panel runs cw run list --json --limit 30 in that directory when it opens and every 30 seconds while the window is visible. Each row shows a status dot, the workflow, the branch, the age and the commit subject. Opening a run calls cw run view <id> --json and lists its jobs with attempt and result.

KeyAction
j k or arrowsMove through runs
ReturnOpen the selected run
EscBack to the list
rRefresh

If the latest run failed, the panel gets a red ring and appears in the Needs you list (see attention).

Messages

  • "The Commitwell CLI (cw) is not installed": cw was not found in the places above.
  • "This folder has no Commitwell remote": the directory is not a Commitwell repository.
  • "Actions are off for this repository": CI is disabled for it on the server.
  • "cw is not signed in": run cw auth login.

Other errors show the last line of cw's error output. Each call times out after 30 seconds.

Later

The panel talks to CI through a small provider interface, and Commitwell's CLI is the only provider today. The roadmap moves changes, review and the merge queue onto cwv2, a server-side source control design, as another provider.