Skip to content

docs: document CLI version resolution in CONTRIBUTING.md#64

Merged
pkosiec merged 1 commit into
mainfrom
pkosiec/cli-compat
May 12, 2026
Merged

docs: document CLI version resolution in CONTRIBUTING.md#64
pkosiec merged 1 commit into
mainfrom
pkosiec/cli-compat

Conversation

@pkosiec
Copy link
Copy Markdown
Member

@pkosiec pkosiec commented May 5, 2026

Summary

Adds a "Version resolution in Databricks CLI" section to CONTRIBUTING.md explaining that the CLI uses cli-compat.json to determine which Agent Skills version to install.

Companion PRs:

Signed-off-by: Pawel Kosiec <pawel.kosiec@databricks.com>
simonfaltum pushed a commit to databricks/cli that referenced this pull request May 12, 2026
…5139)

## Summary

Introduces a CLI compatibility manifest
(`internal/build/cli-compat.json`) that maps CLI versions to compatible
AppKit template and Agent Skills versions. This enables template updates
to reach users without CLI releases.

### Manifest format

The manifest is purely range-based — each versioned entry defines a
**range floor** that applies to that CLI version and all versions above
it, up to the next entry. The manifest should be sparse: only add a new
entry when a compatibility boundary changes (e.g., new AppKit templates
require specific CLI features).

### Resolution

- **Exact match** → use that entry
- **Between entries** → nearest lower version
- **Newer than all** → highest versioned entry
- **Dev builds** (`0.0.0-dev*`) → highest versioned entry

### Manifest sources (fallback chain)

1. Fresh local cache (< 1h)
2. Remote fetch from GitHub (with retry)
3. Stale local cache or embedded manifest fallback

Set `DATABRICKS_FORCE_EMBEDDED_COMPAT=true` to skip remote fetch and use
only the embedded manifest (useful for local development).

### Companion PRs

- [databricks/appkit#333](databricks/appkit#333)
-
[databricks/databricks-agent-skills#64](databricks/databricks-agent-skills#64)

## Screenshot

<img width="1046" height="570" alt="image"
src="https://github.com/user-attachments/assets/1b51cd90-bcaa-4b0e-bcbd-a5370da572ef"
/>

---------

Signed-off-by: Pawel Kosiec <pawel.kosiec@databricks.com>
@pkosiec pkosiec merged commit 6402677 into main May 12, 2026
denik pushed a commit to databricks/cli that referenced this pull request May 20, 2026
…5139)

## Summary

Introduces a CLI compatibility manifest
(`internal/build/cli-compat.json`) that maps CLI versions to compatible
AppKit template and Agent Skills versions. This enables template updates
to reach users without CLI releases.

### Manifest format

The manifest is purely range-based — each versioned entry defines a
**range floor** that applies to that CLI version and all versions above
it, up to the next entry. The manifest should be sparse: only add a new
entry when a compatibility boundary changes (e.g., new AppKit templates
require specific CLI features).

### Resolution

- **Exact match** → use that entry
- **Between entries** → nearest lower version
- **Newer than all** → highest versioned entry
- **Dev builds** (`0.0.0-dev*`) → highest versioned entry

### Manifest sources (fallback chain)

1. Fresh local cache (< 1h)
2. Remote fetch from GitHub (with retry)
3. Stale local cache or embedded manifest fallback

Set `DATABRICKS_FORCE_EMBEDDED_COMPAT=true` to skip remote fetch and use
only the embedded manifest (useful for local development).

### Companion PRs

- [databricks/appkit#333](databricks/appkit#333)
-
[databricks/databricks-agent-skills#64](databricks/databricks-agent-skills#64)

## Screenshot

<img width="1046" height="570" alt="image"
src="https://github.com/user-attachments/assets/1b51cd90-bcaa-4b0e-bcbd-a5370da572ef"
/>

---------

Signed-off-by: Pawel Kosiec <pawel.kosiec@databricks.com>
TanishqDatabricks pushed a commit to TanishqDatabricks/cli that referenced this pull request May 22, 2026
…atabricks#5139)

## Summary

Introduces a CLI compatibility manifest
(`internal/build/cli-compat.json`) that maps CLI versions to compatible
AppKit template and Agent Skills versions. This enables template updates
to reach users without CLI releases.

### Manifest format

The manifest is purely range-based — each versioned entry defines a
**range floor** that applies to that CLI version and all versions above
it, up to the next entry. The manifest should be sparse: only add a new
entry when a compatibility boundary changes (e.g., new AppKit templates
require specific CLI features).

### Resolution

- **Exact match** → use that entry
- **Between entries** → nearest lower version
- **Newer than all** → highest versioned entry
- **Dev builds** (`0.0.0-dev*`) → highest versioned entry

### Manifest sources (fallback chain)

1. Fresh local cache (< 1h)
2. Remote fetch from GitHub (with retry)
3. Stale local cache or embedded manifest fallback

Set `DATABRICKS_FORCE_EMBEDDED_COMPAT=true` to skip remote fetch and use
only the embedded manifest (useful for local development).

### Companion PRs

- [databricks/appkit#333](databricks/appkit#333)
-
[databricks/databricks-agent-skills#64](databricks/databricks-agent-skills#64)

## Screenshot

<img width="1046" height="570" alt="image"
src="https://github.com/user-attachments/assets/1b51cd90-bcaa-4b0e-bcbd-a5370da572ef"
/>

---------

Signed-off-by: Pawel Kosiec <pawel.kosiec@databricks.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants