Concept · Heiward
Heiward for developers, what your tools leave behind
With developer mode on, Heiward lists your repositories' build outputs, finished worktrees, merged branches, package caches, emulator images and temp files, beside their open pull requests, and cleans what you tick.
- Article
- 3904
- Applies to
- Heiward 1.9.6
- Last reviewed
- For
- For developers
Turn it on#
Developer mode in Heiward's Settings. With Castellan installed, Castellan's developer features decide instead: on when a developer agent is hired. See Hiring, switching and letting staff go.
Once a day, after a scheduled scan, Heiward looks for what development tools leave behind and make again when needed, and lists it in the Developer area, by repository. Nothing is cleaned until you press the button, or turn on automatic cleanup for it.
What it lists#
| What | How it's recognised | Ticked for you |
|---|---|---|
Build outputs: node_modules, bin/obj, Gradle's, target, .venv, .next | The project file beside it, so a folder that only has the name is left alone | In projects untouched for 30 days |
bin/obj with no project beside them | What's left when a project is renamed or moved; nothing in it tracked by git | Never: each waits for you |
| Git worktrees | The repository's own list | Untouched for 30 days, no uncommitted changes, every commit on a remote, and nothing working in it now |
| Package caches: Gradle, NuGet, npm, Yarn, pnpm, pip, Maven, Cargo, Go | The tools' own folders | Never. Blocked while the tool runs |
| Android emulators and system images | The emulator folder and the SDK | System images no emulator uses. Blocked while an emulator runs |
| Temp files and crash dumps | Older than 7 days | Yes |
Deletion never follows a link, leaves files in use alone, and checks each item again just before. What it has to leave, it names, with what holds it.
Any version control is recognised: Git, Mercurial, Subversion, TFVC, Perforce, Plastic, Jujutsu and others. Worktrees and merged branches are git's; build outputs are found in all of them.
Merged branches#
Prune, on a repository with a remote, fetches, then deletes the local branches already merged into the remote's default branch. It never deletes main, master, develop, dev, trunk, or a branch checked out in a worktree, and never touches the remote's branches.
Open pull requests#
Beside each repository's cleanup, its open pull requests (the first five), with what each waits for: ready to merge, a review, changes, failing checks, conflicts, a draft. From GitHub, Azure DevOps and TFS, GitLab, Bitbucket, Gitea and Forgejo, with the sign-in Git or the host's own command line already keeps. Heiward never asks for one.
With Reeve and the Steward#
When Castellan's developer staff are there, Heiward leaves them their part:
- With Reeve, worktrees and merged branches are Reeve's: Heiward shows the space worktrees take, but never ticks or cleans them, and has no Prune.
- With the Steward, pull requests are the Steward's: Heiward shows none.
- Everything else is disk, and Heiward's: build outputs, package caches, temp files, crash dumps and emulator images.
Clean up by itself#
Under Automatic cleanup, in Settings, developer leftovers can go by themselves, of the kinds you pick: merged branches, temp files and crash dumps, build outputs and clean worktrees of projects untouched for 30 days, and unused emulator images. Package caches and emulators always wait for you.
Related articles
Is this page right?
If something on it is wrong or out of date, tell us and we'll fix the page.
Still stuck? Write to support@castellan-software.com and mention article 3904. Every version of Heiward, and what changed in it, is in its release notes.