Skip to content

alis blocks

Browse and manage a service's code blocks: reusable, versioned, templated snapshots of a service (proto, infra and build files) that any product can install.

Synopsis

Shell
alis blocks accounts [flags]
alis blocks create <block-id> [<package-id>] [flags]
alis blocks feedback <block-id> <message...> [flags]
alis blocks install <block-id> [<package-id>] [flags]
alis blocks list [<package-id>] [flags]
alis blocks merge <block-id> [<package-id>] [flags]
alis blocks publish <block-id> [<package-id>] [flags]
alis blocks uninstall <block-id> [<package-id>] [flags]
alis blocks upgrade <block-id> [<package-id>] [flags]
alis blocks versions <block-id> [flags]

Aliases: blocks, block.

Description

Installing or upgrading runs server-side: the platform generates the files and commits them to a block/* git branch in both the product's build repo and the build environment's define repo. The CLI then merges that branch into the main branch of both repos and pushes.

The service is addressed by package ID, which may be omitted inside the service's directory. Every code block's .skill/ folder is published as the registry skill block-<block-id>; a finished install names it in next.

Subcommands

alis blocks accounts

List the accounts you can publish a code block under.

alis blocks accounts [flags]

No flags beyond the global flags.

alis blocks create

Publish a service as a brand-new code block. The service's build folder (with infra/ split out) and its define-folder protos become the code block's first version, 1.0.0-experimental1. Local environment files (.alis, .env*, key.json) and tooling folders are never uploaded. A starter .skill/SKILL.md is created in the service folder if missing. The code block id is immutable once set.

alis blocks create <block-id> [<package-id>] [flags]
Flag Type Default Meaning
--account <accounts/id> string The owning account, from alis blocks accounts (required).
--display-name <name> string The code block's display name (required).
--tagline <text> string A short tagline summing up the code block's main function.
--yes bool false Skip the confirmation prompt (same as --approve).

alis blocks feedback

Send feedback about a code block. The platform routes it to the code block's owners (the Alis Build team when it has none) as a conversation; repeat feedback on the same code block lands on your existing open conversation. Continue the conversation in the TUI's support page.

alis blocks feedback <block-id> <message...> [flags]

No flags beyond the global flags.

alis blocks install

Install a code block into a service's package. Output contract matches alis define: result on stdout, progress on stderr, non-zero exit on failure. Code blocks with a dedicated service generate their files from a typed config passed with --config; the code block's skill documents the schema.

alis blocks install <block-id> [<package-id>] [flags]
Flag Type Default Meaning
--async bool false Start the operation and print its name without waiting.
--build-folder <path> string ./ Root folder for the code block's build files within the package.
--config <file> string Typed code block config file (JSON or YAML; - for stdin). Required for code blocks with a dedicated service.
--no-merge bool false Skip merging the code block branch into the local build and define repos.
--poll-interval <duration> duration 2s How often to poll the operation.
--timeout <duration> duration 0 Give up waiting after this duration (0 = wait indefinitely; the operation keeps running).
--version <version> string latest stable Code block version to install, for example 1.2.0.

alis blocks list

List a service's installed and available code blocks.

alis blocks list [<package-id>] [flags]

No flags beyond the global flags. --json includes the dedicatedService flag per block.

alis blocks merge

Re-run the local merge step for an installed code block: fetch, merge the instance's block/* branch into the main branch of both repos, and push. Useful when an install's automatic merge was skipped or failed.

alis blocks merge <block-id> [<package-id>] [flags]
Flag Type Default Meaning
--instance <name> string Instance to merge when the code block is installed more than once, for example blocks/excel/instances/123.

alis blocks publish

Publish a new version of a code block from pushed Define and Build commits. The source service defaults to its trunk; a service that installed the code block must name what to publish (for example --branch, or both commit SHAs). Local edits are excluded. The code block's .skill/ folder syncs to the skill registry on every published version.

alis blocks publish <block-id> [<package-id>] [flags]
Flag Type Default Meaning
--branch <branch> string Publish from this branch in both repositories.
--build-commit <sha> string latest on the selected branch Pushed build-repo commit to publish.
--define-commit <sha> string latest on the selected branch Pushed define-repo commit to publish.
--instance <name> string Instance to publish from when the code block is installed more than once.
--notes <text> string Release notes describing this version (required).
--poll-interval <duration> duration 2s How often to poll the operation.
--release-level <level> string GA, RC, BETA, ALPHA or EXPERIMENTAL (required).
--timeout <duration> duration 0 Stop waiting after this duration; the server operation continues.

alis blocks uninstall

Uninstall a code block instance. The server deletes the instance's unmerged block/* branches; files already merged into the main branch are left untouched.

alis blocks uninstall <block-id> [<package-id>] [flags]
Flag Type Default Meaning
--instance <name> string Instance to uninstall when the code block is installed more than once.
--poll-interval <duration> duration 2s How often to poll the operation.
--timeout <duration> duration 0 Give up waiting after this duration.
--yes bool false Skip the confirmation prompt (same as --approve).

alis blocks upgrade

Upgrade an installed code block instance to --version (default: the latest version, GA preferred). Runs server-side onto the instance's block/* branch, which the CLI then merges and pushes.

alis blocks upgrade <block-id> [<package-id>] [flags]
Flag Type Default Meaning
--async bool false Start the operation and print its name without waiting.
--config <file> string keep the stored config Typed code block config file for code blocks with a dedicated service.
--instance <name> string Instance to upgrade when the code block is installed more than once.
--no-merge bool false Skip merging the code block branch into the local repos.
--poll-interval <duration> duration 2s How often to poll the operation.
--timeout <duration> duration 0 Give up waiting after this duration.
--version <version> string latest, GA preferred Code block version to upgrade to.

alis blocks versions

List a code block's versions, newest first.

alis blocks versions <block-id> [flags]

No flags beyond the global flags.

Examples

Shell
alis blocks list acme.shop.orders.v1 --json
alis blocks install users acme.shop.orders.v1 --json
alis blocks install resources acme.shop.orders.v1 --config resources.json --json
alis blocks upgrade users --json
alis blocks create my-block acme.shop.orders.v1 --display-name "My block" --account accounts/<id> --json
alis blocks publish my-block --release-level BETA --notes "First beta" --json

JSON output

install, upgrade, publish and uninstall follow the output contract: the final operation on stdout, NDJSON progress on stderr. --async returns the operation name; resume with alis operations wait <name> --json. A finished install or upgrade names the code block's skill in next when it has one.

Errors

Code Meaning
CONFIG_REQUIRED A dedicated-service code block was installed without --config; no instance was created.
INVALID_CONFIG The config file could not be parsed. Server validation returns InvalidArgument with the field path.

Notes

  • create and uninstall are destructive-class commands under the automation tiers; install and upgrade are mutating-class. See Exit codes.
  • Dedicated-service code blocks are not installable from the TUI.
  • Install rewrites only identifier placeholders ({{ .OrgName }}, {{ .Package }}, {{ .GoModulePath }} and the rest of the documented set). Runtime ALIS_* variables are injected by Deploy per deployment environment and are not rewritten.