Skip to content

Releases: basefoundry/base

Base v1.7.0

Choose a tag to compare

@codeforester codeforester released this 17 Jul 06:48
a4df0ba

Added

  • Added stable, versioned --format json inspection envelopes for basectl repo check, basectl release check, basectl gh issue readiness, and
    basectl gh branch stale, including structured findings and controlled
    usage or upstream failures without changing text defaults or exit policy.
  • Added consistent explicit, positional, and nearest-manifest project selection
    to basectl run, build, test, and demo; run/build now expose stable
    read-only JSON lists and Bash/Zsh complete manifest command and target names.
  • Added basectl workspace agent-brief to report local repository baseline,
    agent-guidance, AI-context, environment, and validation evidence for a workspace
    handoff as read-only text or stable JSON.
  • Added --ci mode to basectl setup, basectl check, and basectl doctor
    as the preferred CI-safe command surface while keeping basectl ci as a
    compatibility alias.
  • Added bootstrap.sh --ensure-bash to verify or install only the Bash 4.2+
    prerequisite on macOS and Ubuntu/Debian before the full Base setup path is
    available.
  • Added basectl workspace onboarding to summarize first-day repository
    readiness, missing clone actions, and project setup/check/test commands from
    a workspace manifest without mutating repositories.
  • Added basectl devcontainer to preview or write .devcontainer/devcontainer.json
    from Base project manifests, with JSON output that reports supported,
    unsupported, and ambiguous manifest fields.
  • Added basectl devenv-report to classify Base manifest fields as supported,
    unsupported, lossy, or project-owned for Nix/devenv adoption planning without
    generating files or requiring Nix.
  • Added basectl history --report to generate local Markdown or JSON activity
    summaries from recent command history and log metadata without dumping raw
    logs or uploading telemetry.
  • Added a bounded copilot-setup-steps workflow and documentation for optional
    GitHub Copilot cloud-agent setup without changing normal local development or
    CI behavior.
  • Added basectl repo init --agent-ready to seed AGENTS.md and skills.md
    alongside the standard repo baseline.
  • Added basectl repo check --agent-ready to verify the agent-ready repo
    guidance contract without changing default baseline checks.
  • Added basectl gh issue readiness to check issue body sections, labels,
    assignees, and optional GitHub Project fields before assigning agentic
    implementation work.
  • Added explicit, repeatable basectl repo init --language <csv> profiles that
    record normalized project.languages metadata and opt Python baselines into
    python.manager: uv.
  • Added shared issue-backed branch validation to basectl gh pr create and an
    active GitHub ruleset that rejects noncanonical non-default branch names.
  • Added a trusted Issue Branch Policy workflow and required PR-head status that
    verify the branch prefix matches the referenced issue's single category
    label, including for raw Git and third-party AI tools. The workflow rejects
    impossible dates, aggregates open pull requests sharing a commit, queues
    head-SHA-serialized default-branch revalidation after issue relabeling or
    synchronization, and binds enforcement to the GitHub Actions integration.

Changed

  • Required Base runtime startup to use the corrected 1.x base-bash-libs
    release line at version 1.3.0 or newer, with clear rejection of stale or
    incompatible library checkouts.

  • Updated Base CI to consume the published base-bash-libs v1.3.0 release
    commit.

  • Migrated generic Git branch, worktree, upstream, merge, remote, and default
    branch consumers to canonical git_* helpers and synchronized CI with the
    merged base-bash-libs implementation.

  • Migrated generic branch, worktree, default-branch, upstream, merge, and
    remote inspection consumers to the canonical git_* APIs from
    base-bash-libs, leaving base_gh_* as the command-facing wrapper layer.

  • Registered every Python-owned remote shell installer in one policy and added
    paired URL/SHA-256 overrides for verified uv and mise bootstrap on
    Debian-family Linux, while explicitly disclosing unverified mutable defaults.

  • Clarified CI-safe setup/readiness/diagnostics help and docs so --ci mode is
    not confused with running tests, launching GitHub Actions, or creating
    Ubuntu/Multipass VMs.

  • Changed Base-owned repo init, repo agent-guidance, and repo installer-template pull request flows to require an issue number and create
    canonical issue-backed branches.

  • Changed basectl gh issue start and basectl gh pr create to fail closed for
    missing, ambiguous, inaccessible, or mismatched issue category metadata, and
    aligned issue start repository selection with explicit --repo/-R,
    GH_REPO, then origin precedence.

Fixed

  • Aligned basectl leaf help, exact-command argument errors, and Bash/Zsh
    completions, including scoped release options and GitHub Project flags, while
    grouping root help around the first-run and daily project journeys.
  • Stopped shell-only project setup, check, doctor, workspace status, and
    onboarding from requiring a project virtual environment solely to host
    Base's own Python control-plane dependencies. Manifests that explicitly
    declare python: or a python-package artifact keep the existing project
    Python environment behavior.
  • Made basectl onboard --yes reach unattended setup consent and added a
    read-only, workspace-wide manifest trust review step that never grants trust
    automatically or prompts for metadata-only manifests.
  • Made the legacy basectl ci setup|check|doctor compatibility syntax pass
    arguments directly to the canonical lifecycle parsers, restoring option,
    help, validation, and exit-code parity.
  • Required explicit relative or absolute paths for Base runtime scripts so a
    same-named file in the current directory cannot shadow a basectl control
    command.
  • Reported basectl setup, check, and doctor runtime chain diagnostics up
    front and rejected x86_64 Base virtual environments under Apple Silicon
    Homebrew before profile setup reaches later brew install steps.
  • Hardened Ubuntu GitHub Actions package installs against hosted-runner
    third-party apt source failures before Base test jobs install their tools.

Base v1.6.1

Choose a tag to compare

@codeforester codeforester released this 05 Jul 04:43
ece932d

Added

  • Added basectl trust status|allow|revoke to inspect and manage local
    manifest-command approval records under Base-managed state.
  • Enforced manifest-command trust before basectl test, run, build,
    demo, and activate execute project-owned manifest code, while preserving
    dry-run and list inspection paths before approval.

Changed

  • Surfaced pinned Homebrew installer variables in the default first-mile
    bootstrap path so security-conscious users can choose a verified installer
    before running the mutable official Homebrew installer.
  • Reused the external base-bash-libs GitHub CLI helpers in basectl gh and
    basectl repo, and updated the pinned CI dependency to the helper-library
    commit that provides them.
  • Reused base-bash-libs temp-file cleanup helpers in post-bootstrap Bash
    commands that create pull request bodies, CI capture files, setup probes, and
    profile comparison files.
  • Reused base-bash-libs argument and string helpers in focused Bash
    subcommands, including export-context option parsing, CSV joins, and setup
    profile splitting.

Fixed

  • Clarified basectl repo init help and docs so current-checkout usage,
    GitHub setup, local commits, pushes, and the --pr workflow are no longer
    conflated.

Base v1.6.0

Choose a tag to compare

@codeforester codeforester released this 04 Jul 04:05
ec8b464

Added

  • Added an explicit linux-lab prerequisite profile that checks and installs
    Multipass via Homebrew cask for local Ubuntu lab VMs without creating VM
    instances during Base setup.

Changed

  • Bound Base CI source-checkout jobs to the published base-bash-libs v1.1.0
    release commit.

Fixed

  • Stopped basectl from continuing under Rosetta when it resolves native
    Apple Silicon Homebrew at /opt/homebrew, so setup fails early with Bash
    recovery guidance instead of breaking during a later brew install.
  • Replaced stray shell run calls in setup's virtualenv and apt install paths
    with direct command execution so spawned basectl setup runs do not depend on
    a test-harness helper.
  • Stopped default project checks from failing Ubuntu/Linux acceptance solely
    because manifest-declared IDE extension CLIs such as code are not on PATH;
    IDE extension diagnostics now run with the developer profile.
  • Made the tool:bats-core project artifact platform-aware on Ubuntu/Debian,
    mapping it to the system bats package instead of planning a Homebrew
    brew install bats-core command.
  • Preflighted mise trust before basectl setup runs mise install, so
    untrusted project configs fail with a Base recovery message instead of raw
    lower-level mise install output.
  • Bootstrapped mise during Ubuntu/Debian project setup when a manifest
    declares a project-owned mise config, while keeping the mutation guarded by
    --dry-run review and --yes.
  • Bootstrapped uv during Ubuntu/Debian project setup when a manifest
    explicitly opts into python.manager: uv or runner: uv, while keeping the
    mutation guarded by --dry-run review and --yes.
  • Allowed repeated Ubuntu/Debian basectl setup runs without --yes when all
    apt prerequisites are already installed, while still requiring --yes before
    Base mutates apt-managed system packages.
  • Made basectl setup --profile dev, check --profile dev, and
    doctor --profile dev use apt-backed BATS, GitHub CLI, and ShellCheck
    handling on Ubuntu/Debian instead of requiring Homebrew.
  • Made explicit project setup/check routing ignore active-project virtualenv
    overrides from a different shell project, so commands such as
    basectl setup base-demo cannot accidentally reuse the base venv.
  • Made project Brewfile delegates platform-aware: macOS still runs Homebrew
    brew bundle, while Ubuntu/Debian skips Brewfile setup/check as a warning so
    uv-managed projects can proceed through uv sync.

Base v1.5.0

Choose a tag to compare

@codeforester codeforester released this 02 Jul 04:03
3ad4fb9

Added

  • Added BASE_PLATFORM runtime metadata so Linux distribution-family support
    can be represented without overloading the coarse BASE_OS=linux contract.
  • Added Ubuntu/Debian source-checkout CI validation and documented the
    accepted Ubuntu 24.04 ARM64 Parallels validation path.
  • Added Linux-aware basectl check and basectl doctor prerequisite
    diagnostics for Python venv support, Git, GitHub CLI, BATS, ShellCheck, jq,
    and Go on Ubuntu/Debian.

Changed

  • Centralized setup/check platform dispatch so macOS, Ubuntu/Debian, unknown
    Linux, and unsupported platforms are routed through explicit platform-policy
    helpers instead of scattered command conditionals.
  • Changed Ubuntu/Debian setup behavior to fail conservatively with manual
    prerequisite guidance until full apt-backed bootstrap support is implemented.
  • Updated compatibility, Linux-support, IDE-boundary, and forge-boundary docs
    to reflect Ubuntu/Debian runtime support and the remaining non-goals.

Fixed

  • Scrubbed activate override variables in the source-checkout test harness so
    local shell state does not leak into BATS validation on Ubuntu or macOS.

Base v1.4.0

Choose a tag to compare

@codeforester codeforester released this 01 Jul 05:53
ef83e6b

Fixed

  • Made basectl check warn when Homebrew reports installed Xcode Command Line
    Tools are outdated or incomplete, matching the existing basectl doctor
    finding while keeping the check non-blocking.

Base v1.3.0

Choose a tag to compare

@codeforester codeforester released this 28 Jun 04:12
fdb6050

Added

  • Added basectl docs as a convenience shortcut to open the Base GitHub README
    documentation entrypoint, with --show-url for non-browser contexts.
  • Added CI setup JSON rendering and a documented CI supply-chain hardening
    policy for Base-managed bootstrap paths.
  • Added project Python runtime diagnostics and release title placeholder
    validation.
  • Added optional pinned Homebrew installer support for first-mile bootstrap
    environments that need a verified installer source.
  • Added direct coverage for Base command helpers, source guards, completions,
    bootstrap, install, and command-dispatch lifecycle behavior.

Changed

  • Standardized the basectl public command lifecycle around space-separated
    long options, compact usage errors, consistent help routing, and explicit
    command-level logging options.
  • Routed Python command packages through the shared base_cli lifecycle and
    moved project command metadata, CI JSON rendering, and GitHub Project issue
    defaults into Python-backed helpers.
  • Improved shell and completion performance by caching project-name completion
    results, reducing Git prompt subprocess work, and reducing setup/profile
    subprocess use.
  • Split repository helper ownership into focused repo installer-template and
    repo agent-guidance modules, and centralized project command execution
    helpers for test, build, run, and demo.
  • Hardened GitHub and Homebrew workflow handling with structured Homebrew trust
    parsing, bounded GitHub authentication diagnostics, release-publish recovery
    guidance, and portable GitHub Bash helper documentation.
  • Improved Base maintainability by normalizing Bash source guards, making the
    Base home verification contract explicit, enforcing Python future annotation
    standards, and using explicit error handling in base-test.

Fixed

  • Fixed nested and top-level completion parity gaps across Bash and Zsh.
  • Fixed inherited basectl update source-guard state so repeated sourced
    command execution does not leak between invocations.
  • Fixed interactive prompt handling so redirected stdin does not block
    onboarding and self-demo prompts from reading the terminal.
  • Fixed diagnostic probe duplication and bounded subprocess probes for Base
    diagnostics.
  • Fixed sensitive value exposure in basectl config show and setup command
    argument logging.
  • Fixed base_cli history records to use the effective argv for displayed
    command history.

Base v1.2.0

Choose a tag to compare

@codeforester codeforester released this 24 Jun 19:23
0553a0e

Added

  • Added basectl workspace init to clone a workspace repository, read its
    workspace configuration, and clone the repositories declared by that
    workspace.
  • Added basectl prompt list and basectl prompt product-self-review to render
    repo-owned Markdown prompts for periodic AI-assisted Base workflow reviews.
  • Added a local command-history index for Python-backed Base command runs.
  • Added manifest-declared PR policy support for Base-managed GitHub PR helpers.
  • Added project Python version requirements and declarative artifact registry
    support for Base-managed artifacts.

Changed

  • Added ctx.workspace_root to base_cli.Context so workspace-aware commands
    can use the configured workspace root without reaching through user config.
  • Improved basectl repo clone, repo check, repo configure, and
    gh issue create|start diagnostics so repository workflow failures include
    clearer update, chmod, origin, Project-field, and worktree-command guidance.
  • Made basectl repo configure warn when Homebrew reports the local GitHub CLI
    package is outdated, pointing users to basectl setup --profile dev.
  • Made lifecycle command usage errors compact and consistent, returning exit
    code 2 for setup, check, doctor, onboard, and update-profile.
  • Made idempotent basectl setup reconciliation quieter when no action is
    required.
  • Added base_cli.testing.invoke(..., manifest={...}) for project-aware tests
    that need a fixture base_manifest.yaml.
  • Added optional stream and formatter overrides to base_cli.configure_logger
    for tests and CI wrappers that need to capture or reshape user-facing logs.
  • Added base_cli.App(help=...) support for subcommand group help text.
  • Added standard --quiet / -q support to base_cli.App to suppress INFO
    output on the user-facing stream while preserving warnings, errors, and
    persistent DEBUG log detail.
  • Documented the base-bash-libs Homebrew/core readiness path, including the
    formula-name audit command and future basefoundry dependency plan.
  • Documented the basectl setup parallelism evaluation and the decision to
    keep mutating setup serial until a setup-plan/preflight layer exists.
  • Corrected 1.1.0 documentation status, source-checkout base-bash-libs
    prerequisites, future-design banners, and CI bootstrap package guidance.

Fixed

  • Fixed basectl prompt -v <name> so the verbose flag no longer counts as a
    second prompt argument.
  • Added actionable recovery guidance when basectl update-profile detects a
    runtime BASE_HOME mismatch.
  • Fixed workspace reports for uv-managed project virtual environments and
    broken project virtualenv detection.
  • Fixed project --recreate-venv repair and fail-fast runtime directory
    handling for check diagnostics.
  • Allowed standard base_cli.App options such as --debug and
    --environment before subcommand names.
  • Made base_cli.option(..., dry_run=True) reject duplicate dry-run markers on
    the same command function.
  • Made default base_cli.App(max_log_files=...) log retention prune by
    timestamp-prefixed run-id filename instead of filesystem modification time.

Base v1.1.0

Choose a tag to compare

@codeforester codeforester released this 21 Jun 21:18
cadb430

Changed

  • Suppressed pip self-upgrade notices during Base-managed pip installs so
    setup output stays focused on Base actions and real install failures.
  • Made live workflow docs and installer examples main-ready, using default-branch
    URLs for raw GitHub install scripts and main for contributor branch
    examples.
  • Documented the boundary for optional personal shell defaults such as color
    aliases, navigation shortcuts, signing helpers, and strict shell modes.
  • Improved opt-in Bash and Zsh completion ergonomics for interactive shell
    defaults.
  • Added conservative pager and terminal usability behavior to opt-in shell
    defaults.
  • Enriched opt-in shell history defaults for basectl update-profile --defaults.
  • Made Homebrew-managed version: latest profile and project artifacts report
    outdated installed packages during check/doctor and upgrade them during
    setup.
  • Renamed the Base-managed GitHub Project metadata schema from base-roadmap
    to base-project.
  • Made basectl repo configure report missing BASE_PROJECT_TOKEN Project
    intake secrets and improved generated workflow diagnostics when the Actions
    token cannot see repo Projects.
  • Made Homebrew-managed basectl update preflight tap trust before upgrading
    Base when Homebrew requires trust for the tap-owned base-bash-libs
    dependency.
  • Removed Base's bundled reusable Bash std, file, and git libraries;
    Base now requires external base-bash-libs through an explicit override,
    sibling checkout, or Homebrew package.

Fixed

  • Made Homebrew artifact dry-run tests independent of the developer machine's
    installed or outdated Homebrew formulae.

Base v1.0.5

Choose a tag to compare

@codeforester codeforester released this 18 Jun 10:29
17b6d86

Added

  • Added BASE_BASH_LIBS_SOURCE and BASE-D007 diagnostics so basectl check
    and basectl doctor report whether Base is using external reusable Bash
    libraries or the bundled fallback.
  • Added BATS coverage proving Base can bootstrap from external
    base-bash-libs when bundled reusable Bash library directories are absent.

Changed

  • Documented Homebrew tap trust for Base and standalone base-bash-libs
    installs, and updated direct Base upgrade examples to use
    brew upgrade --no-ask codeforester/base/base.

Fixed

  • Fixed Bash library readiness BATS assertions so they pass both with a sibling
    base-bash-libs checkout and with bundled fallback.

Base v1.0.4

Choose a tag to compare

@codeforester codeforester released this 18 Jun 01:32
b3c8f27

Changed

  • Made Base resolve reusable Bash libraries from an external base-bash-libs
    checkout or Homebrew package when available, while keeping the bundled
    lib/bash tree as a fallback.
  • Documented the standalone base-bash-libs install path, Base's consumption
    contract, and the migration gate for eventually removing bundled reusable
    Bash libraries.