Repository navigation
Releases: commonforge-dev/codemeld
Releases · commonforge-dev/codemeld
Release list
codemeld v0.4.6 (Alpha)
Install: go install codemeld.dev/codemeld/cmd/codemeld@v0.4.6 (Go 1.26.9 or later), or download a
Linux amd64/arm64 binary from this release and check it against SHA256SUMS. Linux is the tested
platform; macOS and FreeBSD build but are untested; Windows is not supported.
Highlights
- Child agents ask the usual questions. Starting a child agent no longer asks one "delegate"
question: each edit, delete, move or folder creation it declares gets the same question a direct
call would, and denying any one refuses the launch. The parent sees a list of everything the child
was refused. - Child agents can create folders. A child agent may create the folders it declares. A cancelled
or crashed child's empty folders are removed; one left holding other files is reported
left in place: <dir>at each launch. - Recovery after a crashed child agent. If a crashed child moved files that something else
changed afterwards, the next launch asks once for each group of linked moves: keep them as they are,
put them all back, or decide later. Put back is offered only when it can be done safely, and the
answer is saved so it is never asked again. - No false "interrupted child agent" warning while another codemeld is still running a child
agent. - Writable folders. While the sandbox is on, Auto edits may write the folders declared in
writable_folderswithout asking: sandboxed commands, and codemeld's own edit, create and
folder-creation tools. - Plainer project question. When a folder has its own codemeld settings or version-control
commands, codemeld now asks "Do you trust ?" and says what a yes allows: commands that
run, and files that change, without asking you. The answer still defaults to no, and a no still
starts codemeld without those settings. - Clearer agent questions. Each question shows its own background text on its screen, with
paragraph breaks and a description under each option.
Fixed
- A repository crafted to replace a settings lock file with a special file (a FIFO) could make
codemeld hang while it re-read project settings. - If a project's
.codemeldfolder was a symlink, codemeld could create emptysettings.yaml.lock/
settings.local.yaml.lockfiles in the folder it points to. - Sandboxed commands built on tokio (e.g.
mise) failed withfailed to create UnixStream: PermissionDenied. - In Auto mode, a few equivalent spellings of deletion and history-rewrite commands ran without
the extra confirmation (a path-qualifiedrmafterfind -exec,execinsidesh -c,
hg ci --amend, an abbreviated--amend). They now ask like the usual spellings. - Sandboxed commands could fail at random with
no such processwhen another of your programs
exited at the same moment.
Known issues
- Crash recovery ignores blocked paths added after the crash. If a child agent moved a folder and
codemeld crashed, and while codemeld was closed you blocked a path inside the moved folder and
files were saved there, the next launch's undo moves the folder back to its old name, so those
files end up at an unblocked path. Until this is fixed, block such a path only after codemeld
has started again and finished its recovery.
codemeld v0.4.5 (Alpha)
First public release.
Install
With Go 1.26.9 or newer:
go install codemeld.dev/codemeld/cmd/codemeld@v0.4.5
Or download a Linux binary (amd64 or arm64) from the files below. To check the download, put it
next to SHA256SUMS and run sha256sum -c SHA256SUMS.
Only Linux is tested. codemeld also builds on macOS and FreeBSD, but it has not been tested there.
Windows is not supported.
What's new
- Sandbox on Linux. On Linux (amd64 or arm64, kernel 6.2 or newer), codemeld checks at startup
that it can sandbox shell commands. In Plan mode, commands can only read. In Auto mode, project
commands run without asking, but commands that use the network, delete files, or rewrite
history still ask first. Build mode has no sandbox. The status line shows whether the sandbox
is on. - Blocked folders. Add folders such as
~/.sshtoblocked_paths, and no tool or shell
command can read them.~/.codemeldis always blocked. Use/blockedto manage the list. - Personal and shared project settings. Your own permissions and chosen model are saved in
.codemeld/settings.local.yaml. Settings you share with your team go in
.codemeld/settings.yaml./settingsshows which file each permission is in, and can share or
remove it. - Approve a project once. codemeld ignores a project's own settings files until you approve
that project folder. It asks once and remembers your answer. - Fewer permission prompts. Common commands that only read run without asking.
- Stops runaway turns. A turn stops after 200 model calls, or when the model repeats the same
tool calls three times in a row. - OpenRouter routing. Choose how OpenRouter picks a provider: fastest or best value, whether
providers may keep your data, which features they must support, and a top price per model. Set
it in the settings file or with/settings. Each answer records which provider served it. - Sessions. Sessions get titles automatically.
codemeld sessions listlists them (--all
for every folder,--jsonfor scripts). - Scripted runs.
codemeld runprints the answer on stdout and progress messages on stderr. - Safer connections. Connections to model providers and the ChatGPT login never follow
redirects. - Provider prompt caching, and many fixes to the interface.
Known issues
We plan to fix all four in the next release.
- codemeld can freeze while it re-reads project settings if someone has replaced a project's
settings lock file with a special file (a named pipe). This only happens in a repository set up
to do it on purpose. No settings are changed, and quitting codemeld ends it. - If a project's
.codemeldfolder is a symlink, codemeld may create empty.lockfiles in the
folder the link points to. - Inside the sandbox, tools built on the tokio library, such as
mise, fail with
failed to create UnixStream: PermissionDenied. - In Auto mode, a few less common ways of writing delete and history-rewrite commands skip the
extra confirmation, for examplehg ci --amendorsh -c 'exec rm file'. These commands still
run in the sandbox, so they can only change folders Auto is allowed to write to.