Skip to content

v0.2.0

Choose a tag to compare

@Aha43 Aha43 released this 04 Jul 02:04
· 100 commits to main since this release

Sprint 1 — CLI ergonomics: the project name becomes optional, new flows straight into go,
plus the license, a makefile, and two release-blockers caught by a Codex review.

Added

  • Makefile. make install builds and installs foreman (+ fm symlink) and fm-explorer
    into ~/.local/bin (override with BIN=); make check is the gofmt+vet+test gate from the
    workflow docs. Closes #14.

  • The project name can be omitted. foreman new coder (and go, adopt, done,
    pin/unpin) infers the project: inside a managed terminal, that terminal's project;
    otherwise the configured root containing the current directory; otherwise the directory's
    name. The decision is echoed once (foreman: project NamWeb (from config root)). Verb names
    become reserved project names; bare foreman list stays the all-projects overview. Closes #8.

  • new offers to go to the just-created terminal. After creating, new asks
    go to coder? [Y/n] — plain Enter jumps there via the normal go move semantics. The prompt
    only appears on a TTY, so scripted use creates without going, as before. Closes #9.

  • MIT license. The repo is now properly open source. Closes #10.

Fixed

  • adopt rejects duplicate roles. Adopting a terminal under a role the project already has
    would create two windows with the same identity, making go/done resolve whichever came
    first — possibly switching to or killing the wrong terminal. adopt now errors like new
    does. Found by Codex review. Closes #17.

  • The explorer's source is actually in the repository. The unanchored .gitignore patterns
    (foreman-explorer) also matched cmd/foreman-explorer/, so its source was never committed —
    a fresh clone couldn't build. Ignores are now anchored to the repo root and the missing source
    is committed. Found by Codex review. Closes #16.