0.2.1 - 2026-03-02#

Changed#

  • Update Debian init template with extra-scripts hook points and persistent mount directories (e58f8fe)

    The Debian template now mounts two additional directories for user-defined scripts and binaries:

    mounts = [
      '.alca.mounts/mise:/root/.local/share/mise',
      '.alca.mounts/extra-bin:/extra-bin',
      '.alca.mounts/extra-scripts:/extra-scripts',
    ]

    The commands.up script calls hook points at two stages:

    • source.sh — sourced before mise trust && mise install (for environment setup)
    • init.sh — executed at the end (for project-specific initialization)

    Both hooks are guarded with [ -x ... ] && so they’re no-ops when absent. See Config Fields.

Added#

  • Add .alca/ to .gitignore entries generated by alca init (e58f8fe)

    The .alca/ state directory is now gitignored by default alongside .alca.local.toml and .alca.mounts/.

  • Document how commands.enter interacts with alca run argument passing (e58f8fe)

    The enter command is space-concatenated with quoted user arguments and wrapped in sh -c. Commands that don’t naturally accept trailing arguments must end with a statement separator:

    # Correct — newline separates the statements
    [commands]
    enter = """
    . ~/.bashrc
    """

    See Config Fields.

Fixed#

  • Fix commands.enter in Debian template silently swallowing user arguments from alca run (e58f8fe)

    The previous single-line . ~/.bashrc caused arguments to become positional parameters to the source command instead of executing as separate commands. The enter command now uses a multi-line string so user arguments run as an independent statement.