project devlogs / kwt
kwt
Give every branch its own checkout and tmux workspace, with a cross-project dashboard for people and a JSON CLI for agents
GitHub ↗Website ↗
Choose project kwt ↓
+103,096 lines since 2026-07-03
Measurements & method
SCC code lines (nonblank, noncomment) in tracked source files, including tests, SQL, HTML, and CSS. Excludes prose, shell scripts, data/config files, vendored dependencies, build output, generated and minified files. Counts the checked-out tree, not accumulated additions.
Snapshots follow the repository’s default branch. Lines measure codebase size, not work completed. Historical counts can fall when code is removed.
Measured with scc 3.7.0. Updated 2026-10-21.
Source line measurements for kwt | Date | Source lines | Files | Commit |
| 2026-10-21 | 122,882 | 418 | ab19be5 |
| 2026-10-18 | 122,882 | 418 | 6c1fa04 |
| 2026-10-11 | 122,221 | 418 | 8722755 |
| 2026-10-04 | 120,000 | 382 | 23155e8 |
| 2026-09-27 | 119,957 | 382 | 352ab3d |
| 2026-09-20 | 119,957 | 382 | 2353b6e |
| 2026-09-13 | 119,288 | 377 | 94c451f |
| 2026-09-06 | 118,391 | 372 | 3a1503c |
| 2026-08-30 | 116,333 | 362 | 12d8d96 |
| 2026-08-23 | 114,472 | 355 | 783b928 |
| 2026-08-16 | 99,231 | 323 | 1a75295 |
| 2026-08-09 | 70,909 | 224 | 28553b4 |
| 2026-08-02 | 49,455 | 158 | 8884ad6 |
| 2026-07-26 | 39,024 | 146 | 07ad817 |
| 2026-07-19 | 31,494 | 134 | 1a8042a |
| 2026-07-12 | 28,084 | 124 | f442988 |
| 2026-07-05 | 19,786 | 100 | 50a74ef |
| 2026-07-03 | 19,786 | 100 | e6760d4 |
Project timeline
Newest first 102 merged PRs · 12 releases · 15 weeks in the devlog
-
to
7 PRs merged (6 Kenn, 1 community) Weekly diff: +878 / −107 lines
- Attaching a worktree now handles branch changes correctly.
- Canceling branch creation in warm worktrees now cleans up the canceled operation.
- Stray worktree entries no longer block every workspace.
- Choosing a branch name no longer waits for the repository lock.
- kwt now treats Git 2.56's invalid gitfile error as a missing checkout.
-
to
8 PRs merged (8 Kenn, 0 community) Weekly diff: +9,123 / −6,685 lines
- Other apps can now use kwt's workspace operations.
- Worktree inventory now works with bare project roots.
- Launching a repository now opens it before kwt refreshes the global inventory.
- Workspace creation now uses less memory.
-
to
2 PRs merged (2 Kenn, 0 community) Weekly diff: +90 / −45 lines
- Daemon drain retries now use backoff/v7.
-
to
3 PRs merged (3 Kenn, 0 community) Weekly diff: +811 / −98 lines
- Complete Tailscale SSH browser authentication while connecting.
- Choose SSH compression for each host. Managed connections now honor the OpenSSH compression setting.
-
to
7 PRs merged (7 Kenn, 0 community) Weekly diff: +1,141 / −178 lines
- kwt can recover moved projects without deleting registrations for projects that are temporarily missing.
- SSH host-key questions now appear as trust reviews, and native clients receive details when SSH fails.
- kwt open --start-session and workspace list now work when no tmux server is running.
- When an older CLI talks to a newer daemon, kwt now identifies the outdated CLI and reports the error concisely.
-
to
3 PRs merged (3 Kenn, 0 community) Weekly diff: +1,541 / −22 lines
- kwt.sh now has a rebuilt product overview, guide, and documentation site.
- Registry creation now cleans up zero-byte lock files instead of leaving them beside the registry.
-
to
5 PRs merged (4 Kenn, 1 community) Weekly diff: +2,171 / −64 lines
- Removing a worktree now stops if any running process has its working directory inside it, preventing in-use files from disappearing.
- Sessions stay associated with their worktree after you switch or rename its branch.
- kwt now supports worktree layouts inside bare containers.
-
to
8 PRs merged (7 Kenn, 1 community) Weekly diff: +18,197 / −1,528 lines
- PR workspaces can be imported again after their old worktree is removed.
- Worktree maintenance now shows its progress and stays responsive while it runs.
- SSH connections keep OpenSSH's normal identity selection, while requiring an explicit host key policy and a reviewed route.
- KWT sessions now run on a dedicated tmux server, keeping them separate from other tmux sessions.
- Worktree change inspection no longer reports stale results after the worktree changes.
-
to
18 PRs merged (18 Kenn, 0 community) Weekly diff: +31,362 / −2,074 lines
- SSH connections now support route resolution, portable interactive leases, and structured host-key prompts tied to the reviewed destination.
- Project and worktree removal now stops when live sessions or concurrent session startup could make the operation unsafe.
- Worktree creation, protected attachment, and pull-request imports now verify the active project registration before proceeding.
- Daemon identity remains stable across WSL clock changes, and empty project registries can be repaired safely.
- Shorter tmux session names reduce naming problems for worktree sessions.
-
to
10 PRs merged (10 Kenn, 0 community) Weekly diff: +26,627 / −1,970 lines
- Run doctor diagnostics to find problems and prune worktrees for merged pull requests.
- List and open registered directory workspaces alongside worktrees.
- Unregister projects noninteractively for easier scripting.
- Keep working when registered projects are inaccessible, and treat partial worktree removals as completed.
-
to
13 PRs merged (13 Kenn, 0 community) Weekly diff: +12,208 / −916 lines
- Create worktrees directly from existing branches as first-class sources.
- Worktree removal now checks creation identity and finishes cleanup left by partial removals.
- PR commands now handle transferred repositories and honor Git credentials during imports.
- Worktrees outside the global base now open at their exact paths.
- Workspace attachment now creates missing sessions and correctly hands control to external tmux clients.
-
to
8 PRs merged (8 Kenn, 0 community) Weekly diff: +8,952 / −403 lines
- Pull requests can now be imported in a machine-readable format and used to create workspace sessions.
- Worktree discovery and creation now responds immediately.
- Imported pull request sessions no longer run startup actions automatically.
-
to
3 PRs merged (3 Kenn, 0 community) Weekly diff: +5,247 / −456 lines
- Tools can now read worktree and project information in a machine-readable format and bootstrap sessions automatically.
- New worktrees now start from the remote default branch, avoiding stale local branch state.
-
to
7 PRs merged (7 Kenn, 0 community) Weekly diff: +9,974 / −345 lines
- Keep workspaces coordinated across multiple machines with advisory sync.
- Use directories as workspaces, with documentation covering the new workflow.
- Start the terminal interface faster, while fleet HTTP connections now require explicit consent.
- Open blank tmux sessions by default, with layouts available as an opt-in choice.
- Find the project’s Discord community from the documentation navigation.
-
to
0 PRs merged (0 Kenn, 0 community) Weekly diff: +24,168 / −0 lines
- kwt is now publicly available in its initial release.