Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .agents/upstream-tracking.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ Read the file at the **pinned** ref, not at `main`:

```bash
# The pinned ref for each repo is in .sources/upstream.json
curl -sL https://raw.githubusercontent.com/dfinity/icp-cli/v1.4.0/docs/reference/cli.md
curl -sL https://raw.githubusercontent.com/dfinity/icp-cli/v1.5.0/docs/reference/cli.md
```

Use `raw.githubusercontent.com`, not `gh api .../contents/...`: the API returns
Expand Down Expand Up @@ -133,10 +133,10 @@ is not a ref git can resolve.

### `icp-cli`: link slug adaptation

All CLI docs links use a versioned slug (`https://cli.internetcomputer.org/1.4/...`).
All CLI docs links use a versioned slug (`https://cli.internetcomputer.org/1.5/...`).
When `icp-cli` moves to a new minor:

1. The slug is the `major.minor` of the release (`v1.4.0` → `1.4`). Confirm it is
1. The slug is the `major.minor` of the release (`v1.5.0` → `1.5`). Confirm it is
live in the published version list, where the entry marked `latest: true` is
the slug the docs site serves at its root:
```bash
Expand All @@ -160,7 +160,7 @@ When `icp-cli` moves to a new minor:
3. Replace the slug across all files (per-file loop, because GNU and BSD `sed`
disagree on `-i`):
```bash
old=1.3; new=1.4
old=1.4; new=1.5
grep -rl "cli.internetcomputer.org/${old}/" docs/ | while IFS= read -r f; do
sed -i.bak "s|cli.internetcomputer.org/${old}/|cli.internetcomputer.org/${new}/|g" "$f" && rm -f "$f.bak"
done
Expand Down
2 changes: 1 addition & 1 deletion .sources/upstream.json
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
"watched": [
{
"repo": "dfinity/icp-cli",
"pinned": "v1.4.0",
"pinned": "v1.5.0",
"track": "release",
"tagPattern": "^v\\d+\\.\\d+\\.\\d+$",
"verify": "docs/reference/cli.md",
Expand Down
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ EOF
- Link to `internetcomputer.org/docs/` (retired) or `learn.internetcomputer.org` (content is now in this repo under `docs/concepts/`)
- Link to internal pages that don't exist — run `ls <target>` before linking. Links to `.mdx` files use `.md` extension.
- Link to an internal page without checking for a relevant section anchor — read the target page to find the most specific section that fits, then derive the anchor slug from its heading (lowercase, spaces → `-`, special chars stripped).
- Link to `https://cli.internetcomputer.org/` bare root — use the versioned path. Current slug: `1.4`. It is the `major.minor` of the latest icp-cli release, and the docs always track the latest. Do not read it from the repo's `docs-site/versions.json`: at a release tag that file still lists the *previous* slug, because the docs-site version bump lands as a follow-up commit after the tag. Confirm the live slug against the published `https://cli.internetcomputer.org/versions.json`, whose `latest: true` entry names it (the docs-site root reaches it through a meta refresh, which `curl -L` does not follow), and see `.agents/upstream-tracking.md` for the full slug-bump procedure.
- Link to `https://cli.internetcomputer.org/` bare root — use the versioned path. Current slug: `1.5`. It is the `major.minor` of the latest icp-cli release, and the docs always track the latest. Do not read it from the repo's `docs-site/versions.json`: at a release tag that file still lists the *previous* slug, because the docs-site version bump lands as a follow-up commit after the tag. Confirm the live slug against the published `https://cli.internetcomputer.org/versions.json`, whose `latest: true` entry names it (the docs-site root reaches it through a meta refresh, which `curl -L` does not follow), and see `.agents/upstream-tracking.md` for the full slug-bump procedure.
- Link externally when an internal page exists — check `docs/` first
- Write em-dashes (`—`) or use `--` as prose punctuation — use colon, semicolon, or parentheses instead. (`--` is fine inside code blocks as a CLI flag or comment.)
- Rename Candid field names, management canister API identifiers, or example repo names — these are protocol-level identifiers
Expand Down
8 changes: 4 additions & 4 deletions docs/developer-tools/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,13 @@ Key features:
- **Environments**: named deployment targets that combine a network, canister set, and settings (e.g., local, staging, production)
- **Project scaffolding**: `icp new` bootstraps new projects from official templates

For installation, see the [Quickstart](../getting-started/quickstart.md) or the [full CLI documentation](https://cli.internetcomputer.org/1.4/). To complete `icp` commands in your shell, `icp completions <shell>` prints a script for bash, zsh, fish, elvish, or PowerShell; see [shell completions](https://cli.internetcomputer.org/1.4/guides/installation#shell-completions) for where to put it.
For installation, see the [Quickstart](../getting-started/quickstart.md) or the [full CLI documentation](https://cli.internetcomputer.org/1.5/). To complete `icp` commands in your shell, `icp completions <shell>` prints a script for bash, zsh, fish, elvish, or PowerShell; see [shell completions](https://cli.internetcomputer.org/1.5/guides/installation#shell-completions) for where to put it.

Advanced: [creating recipes](https://cli.internetcomputer.org/1.4/guides/creating-recipes) and [creating templates](https://cli.internetcomputer.org/1.4/guides/creating-templates) are documented on the CLI docs site.
Advanced: [creating recipes](https://cli.internetcomputer.org/1.5/guides/creating-recipes) and [creating templates](https://cli.internetcomputer.org/1.5/guides/creating-templates) are documented on the CLI docs site.

icp-cli collects anonymous usage telemetry. Opt out with `icp settings telemetry false` or `DO_NOT_TRACK=1`.

Coming from dfx? See the [migration guide](https://cli.internetcomputer.org/1.4/migration/from-dfx).
Coming from dfx? See the [migration guide](https://cli.internetcomputer.org/1.5/migration/from-dfx).

### ic-wasm

Expand All @@ -35,7 +35,7 @@ Resources:

### Quill

Quill is a minimalistic, offline-first CLI for signing and sending governance messages (NNS and SNS proposals, neuron management) from air-gapped machines. Its focus is governance: for canister calls, icp-cli covers the same split with [`icp canister call --sign-only`](https://cli.internetcomputer.org/1.4/reference/cli#icp-canister-call), which writes a signed message on the offline device, and [`icp message send`](https://cli.internetcomputer.org/1.4/reference/cli#icp-message-send), which submits it from a networked one. That pair is experimental, so it can change between icp-cli releases.
Quill is a minimalistic, offline-first CLI for signing and sending governance messages (NNS and SNS proposals, neuron management) from air-gapped machines. Its focus is governance: for canister calls, icp-cli covers the same split with [`icp canister call --sign-only`](https://cli.internetcomputer.org/1.5/reference/cli#icp-canister-call), which writes a signed message on the offline device, and [`icp message send`](https://cli.internetcomputer.org/1.5/reference/cli#icp-message-send), which submits it from a networked one. That pair is experimental, so it can change between icp-cli releases.

Quill is suited for:
- Submitting NNS governance proposals
Expand Down
6 changes: 3 additions & 3 deletions docs/getting-started/project-structure.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ Beyond canisters, `icp.yaml` can also define **networks** (where to deploy) and
| `local` | `local` (managed, localhost:8000) | Local development |
| `ic` | `ic` (connected, https://icp-api.io) | Mainnet production |

You only need to add custom networks or environments when you have staging environments, testnets, or other deployment targets. See the [icp-cli configuration reference](https://cli.internetcomputer.org/1.4/reference/configuration#networks) for the full schema.
You only need to add custom networks or environments when you have staging environments, testnets, or other deployment targets. See the [icp-cli configuration reference](https://cli.internetcomputer.org/1.5/reference/configuration#networks) for the full schema.

## Canister configuration (canister.yaml)

Expand Down Expand Up @@ -155,7 +155,7 @@ icp project show

This outputs the effective configuration, including all expanded recipe steps and implicit defaults.

Recipes are Handlebars templates hosted at [dfinity/icp-cli-recipes](https://github.com/dfinity/icp-cli-recipes). You can also create local or remote recipes for custom build patterns. See the [icp-cli recipes documentation](https://cli.internetcomputer.org/1.4/guides/creating-recipes) for details.
Recipes are Handlebars templates hosted at [dfinity/icp-cli-recipes](https://github.com/dfinity/icp-cli-recipes). You can also create local or remote recipes for custom build patterns. See the [icp-cli recipes documentation](https://cli.internetcomputer.org/1.5/guides/creating-recipes) for details.

## The .icp/ directory

Expand Down Expand Up @@ -254,6 +254,6 @@ For a deep dive on binding generation, see [Binding generation](../guides/canist
- [Binding generation](../guides/canister-calls/candid.md#binding-generation): deep dive on generating type-safe client code
- [Asset canister](../guides/frontends/asset-canister.md): how the frontend recipe and asset upload work
- [Canister lifecycle](../guides/canister-management/lifecycle.md): build, deploy, upgrade, and manage canisters
- [icp-cli reference](https://cli.internetcomputer.org/1.4/reference/cli): full CLI and configuration documentation
- [icp-cli reference](https://cli.internetcomputer.org/1.5/reference/cli): full CLI and configuration documentation

{/* Upstream: informed by dfinity/icp-cli docs/concepts/project-model.md, docs/concepts/recipes.md, docs/concepts/binding-generation.md, docs/concepts/canister-discovery.md */}
4 changes: 2 additions & 2 deletions docs/getting-started/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ icp --version
ic-wasm --version
```

> **Alternative methods:** [Homebrew, shell scripts, and other options](https://cli.internetcomputer.org/1.4/guides/installation) are also available.
> **Alternative methods:** [Homebrew, shell scripts, and other options](https://cli.internetcomputer.org/1.5/guides/installation) are also available.

## Create a project

Expand Down Expand Up @@ -127,6 +127,6 @@ Each canister name maps to a directory containing its own `canister.yaml` with b
- [Choose your path](choose-your-path.md): pick a development path based on what you want to build
- [Concepts: Canisters](../concepts/canisters.md): learn what canisters are and how they work
- [AI coding agents](../guides/ai-coding-agents.md): use ICP skills to build on the Internet Computer with AI
- [icp-cli documentation](https://cli.internetcomputer.org/1.4/): full CLI reference and guides
- [icp-cli documentation](https://cli.internetcomputer.org/1.5/): full CLI reference and guides

<!-- Upstream: informed by dfinity/icp-cli docs/quickstart.md, docs/tutorial.md -->
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,13 @@ Parallel calls are most beneficial when the caller and callee are on **different
<Tabs syncKey="lang">
<TabItem label="Motoko">

- [icp-cli](https://cli.internetcomputer.org/1.4/guides/installation) installed
- [icp-cli](https://cli.internetcomputer.org/1.5/guides/installation) installed
- `mops` package manager with `core = "2.0.0"` in `mops.toml`

</TabItem>
<TabItem label="Rust">

- [icp-cli](https://cli.internetcomputer.org/1.4/guides/installation) installed
- [icp-cli](https://cli.internetcomputer.org/1.5/guides/installation) installed
- `ic-cdk = "0.19"` and `futures = "0.3"` in `Cargo.toml`

</TabItem>
Expand Down
4 changes: 2 additions & 2 deletions docs/guides/canister-management/cycles-management.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -331,7 +331,7 @@ icp deploy -e staging
icp deploy -e production
```

Each environment maintains separate canister IDs. Mainnet IDs are stored in `.icp/data/mappings/<environment>.ids.json` and should be committed to version control. See [Managing environments](https://cli.internetcomputer.org/1.4/guides/managing-environments) for full configuration options.
Each environment maintains separate canister IDs. Mainnet IDs are stored in `.icp/data/mappings/<environment>.ids.json` and should be committed to version control. See [Managing environments](https://cli.internetcomputer.org/1.5/guides/managing-environments) for full configuration options.

## Production deployment checklist

Expand Down Expand Up @@ -399,6 +399,6 @@ icp canister top-up backend --amount 1T -n ic
- [Cycles ledger reference](../../references/system-canisters.md#cycles-ledger): Canister IDs and interface specification
- [Calls with attached cycles](../canister-calls/inter-canister-calls.md#calls-with-attached-cycles): attach cycles to an inter-canister call and accept them in the callee
- [Reproducible builds](reproducible-builds.md): Verify your WASM is trustworthy before deploying
- [icp-cli docs](https://cli.internetcomputer.org/1.4/reference/cli#icp-cycles): Full command reference for `icp cycles` and `icp canister top-up`
- [icp-cli docs](https://cli.internetcomputer.org/1.5/reference/cli#icp-cycles): Full command reference for `icp cycles` and `icp canister top-up`

{/* Upstream: informed by dfinity/portal (docs/building-apps/canister-management/topping-up.mdx, docs/building-apps/getting-started/tokens-and-cycles.mdx; dfinity/icp-cli) docs/guides/deploying-to-mainnet.md, docs/guides/tokens-and-cycles.md, docs/guides/managing-environments.md; dfinity/icskills: skills/cycles-management/SKILL.md */}
2 changes: 1 addition & 1 deletion docs/guides/canister-management/lifecycle.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,7 @@ This is useful during development when you want a clean slate. The canister ID i

Deleting permanently removes a canister from the network. The canister ID cannot be reused.

> **Note:** Canisters are like real estate on the IC. Creating them costs cycles. Instead of deleting a canister, consider reusing it in a different project. Check the [cli reference](https://cli.internetcomputer.org/1.4/concepts/project-model/#canister-ids) for more information.
> **Note:** Canisters are like real estate on the IC. Creating them costs cycles. Instead of deleting a canister, consider reusing it in a different project. Check the [cli reference](https://cli.internetcomputer.org/1.5/concepts/project-model/#canister-ids) for more information.

1. Stop the canister first:

Expand Down
4 changes: 2 additions & 2 deletions docs/guides/canister-management/logs.md
Original file line number Diff line number Diff line change
Expand Up @@ -411,7 +411,7 @@ async fn main() -> Result<()> {

- [Canister lifecycle](lifecycle.md): configure log visibility and memory limits when creating or deploying a canister
- [Testing strategies](../testing/strategies.md): use canister logs as part of your debugging workflow
- [CLI reference: `icp canister logs`](https://cli.internetcomputer.org/1.4/reference/cli#icp-canister-logs): full command flags and options
- [CLI reference: `icp canister settings update`](https://cli.internetcomputer.org/1.4/reference/cli#icp-canister-settings-update): full command flags and options
- [CLI reference: `icp canister logs`](https://cli.internetcomputer.org/1.5/reference/cli#icp-canister-logs): full command flags and options
- [CLI reference: `icp canister settings update`](https://cli.internetcomputer.org/1.5/reference/cli#icp-canister-settings-update): full command flags and options

<!-- Upstream: informed by dfinity/portal — docs/building-apps/canister-management/logs.mdx, docs/building-apps/canister-management/backtraces.mdx, docs/building-apps/advanced/canister-access-logs.mdx; dfinity/examples — rust/canister_logs, motoko/canister_logs, rust/query_stats, motoko/query_stats; dfinity/cdk-rs — ic-cdk/src/api.rs, ic-cdk/src/management_canister.rs, ic-management-canister-types/src/lib.rs; dfinity/icp-cli — docs/reference/cli.md, docs/reference/canister-settings.md -->
2 changes: 1 addition & 1 deletion docs/guides/canister-management/settings.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -383,7 +383,7 @@ A viewer list is also relative to an existing one, so `--add-<kind>-viewer` and

Additional flags: `--reserved-cycles-limit`, `--wasm-memory-threshold`, `--log-memory-limit`, `--add-environment-variable`. Run `icp canister settings update --help` for the full list.

For the full list of CLI flags, see the [icp-cli reference](https://cli.internetcomputer.org/1.4/reference/cli#icp-canister-settings-update).
For the full list of CLI flags, see the [icp-cli reference](https://cli.internetcomputer.org/1.5/reference/cli#icp-canister-settings-update).

## Updating settings programmatically

Expand Down
2 changes: 1 addition & 1 deletion docs/guides/canister-management/snapshots.md
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,6 @@ icp canister status my-canister -e ic
- [Canister lifecycle](lifecycle.md): Understand how snapshots fit into the upgrade workflow
- [Canister migration](canister-migration.md): Complete guide for moving a canister to a different subnet using the snapshot transfer workflow
- [Canister upgrades security](../security/canister-upgrades.md): Security considerations when using snapshot-based rollbacks
- [icp-cli canister snapshot reference](https://cli.internetcomputer.org/1.4/guides/canister-snapshots): Full command reference for all snapshot subcommands
- [icp-cli canister snapshot reference](https://cli.internetcomputer.org/1.5/guides/canister-snapshots): Full command reference for all snapshot subcommands

<!-- Upstream: informed by dfinity/icp-cli docs/guides/canister-snapshots.md; dfinity/portal docs/building-apps/canister-management/snapshots.mdx -->
2 changes: 1 addition & 1 deletion docs/guides/digital-assets/ledgers.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ ICRC-2 adds an approve/transferFrom pattern. The asset owner first approves a sp

**When to use:** Exchange logic, payment processing, subscription services, or any case where a canister needs to pull assets from a user's account.

> To grant or inspect an allowance manually without writing code, use the [`icp token approve`](https://cli.internetcomputer.org/1.4/reference/cli#icp-token-approve) and [`icp token allowance`](https://cli.internetcomputer.org/1.4/reference/cli#icp-token-allowance) CLI commands.
> To grant or inspect an allowance manually without writing code, use the [`icp token approve`](https://cli.internetcomputer.org/1.5/reference/cli#icp-token-approve) and [`icp token allowance`](https://cli.internetcomputer.org/1.5/reference/cli#icp-token-allowance) CLI commands.

<Tabs syncKey="lang">
<TabItem label="Motoko">
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/frontends/frameworks.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ This guide shows you how to configure your framework's build pipeline, wire up t

## Prerequisites

- [icp-cli](https://cli.internetcomputer.org/1.4/guides/installation) installed: `npm install -g @icp-sdk/icp-cli @icp-sdk/ic-wasm`
- [icp-cli](https://cli.internetcomputer.org/1.5/guides/installation) installed: `npm install -g @icp-sdk/icp-cli @icp-sdk/ic-wasm`
- A backend canister deployed (or a static-only site with no backend)
- Familiarity with [asset canisters](asset-canister.md)

Expand Down
2 changes: 1 addition & 1 deletion docs/guides/testing/pocket-ic.md
Original file line number Diff line number Diff line change
Expand Up @@ -377,7 +377,7 @@ PocketIC runs on macOS and Linux. Windows is not currently supported for standal

## Connecting to a running network for testing

For end-to-end tests that need a full network with all system canisters, use a containerized network instead of PocketIC. See the [icp-cli containerized networks documentation](https://cli.internetcomputer.org/1.4/guides/containerized-networks) for how to configure Docker-based test networks in `icp.yaml`.
For end-to-end tests that need a full network with all system canisters, use a containerized network instead of PocketIC. See the [icp-cli containerized networks documentation](https://cli.internetcomputer.org/1.5/guides/containerized-networks) for how to configure Docker-based test networks in `icp.yaml`.

The containerized network is appropriate when:

Expand Down
2 changes: 1 addition & 1 deletion docs/guides/testing/strategies.md
Original file line number Diff line number Diff line change
Expand Up @@ -330,7 +330,7 @@ icp network status docker-test --json

For the full containerized network configuration reference: including environment variables, volume mounts, and
custom images: see the
[icp-cli containerized networks guide](https://cli.internetcomputer.org/1.4/guides/containerized-networks).
[icp-cli containerized networks guide](https://cli.internetcomputer.org/1.5/guides/containerized-networks).

## Choosing the right approach

Expand Down
2 changes: 1 addition & 1 deletion docs/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Teach your AI coding agent the patterns, APIs, and deployment workflows it needs
## External resources

<CardGrid>
<LinkCard title="ICP CLI" description="Command-line tool for ICP development" href="https://cli.internetcomputer.org/1.4/" />
<LinkCard title="ICP CLI" description="Command-line tool for ICP development" href="https://cli.internetcomputer.org/1.5/" />
<LinkCard title="JS SDK" description="JavaScript/TypeScript libraries for ICP" href="https://js.icp.build" />
<LinkCard title="ICP Skills" description="Skills for agents that write code on ICP" href="https://skills.internetcomputer.org" />
<LinkCard title="Examples" description="Working Motoko and Rust canister examples" href="https://github.com/dfinity/examples" />
Expand Down
Loading