Skip to content

docs: developer tools overview#78

Merged
marc0olo merged 2 commits into
mainfrom
docs/guides-tools-overview
Apr 16, 2026
Merged

docs: developer tools overview#78
marc0olo merged 2 commits into
mainfrom
docs/guides-tools-overview

Conversation

@marc0olo
Copy link
Copy Markdown
Member

Summary

  • Covers icp-cli: installation (npm and Homebrew), key features (recipes, environments, scaffolding), telemetry opt-out
  • ic-wasm for Wasm optimization; Quill for cold wallet / air-gapped NNS and SNS governance signing
  • CDK table: Motoko, Rust CDK (ic-cdk, ic-cdk-macros, ic-cdk-timers, ic-stable-structures), and community CDKs (Azle, Kybra, icpp-pro, MoonBit)
  • ICP Ninja browser-based IDE with limitations noted
  • didc Candid CLI tool
  • All CLI syntax verified against dfinity/icp-cli reference

Sync recommendation

informed by dfinity/portal — dev-tools-overview.mdx, cdks/index.mdx, icp-ninja.mdx; dfinity/icp-cli — docs/guides/installation.md, docs/reference/cli.md

@marc0olo
Copy link
Copy Markdown
Member Author

Review: Developer Tools

Must fix

  • Node.js version claim is incorrect: The page states "Install via npm (requires Node.js ≥ 22)" but the official icp-cli installation docs (.sources/icp-cli/docs/guides/installation.md) say "Node.js (LTS)" and the npm package (npm/icp-cli/package.json) declares "engines": { "node": ">=18.0.0" }. Change to "requires Node.js (LTS)" to match the authoritative source.

Suggestions

  • VS Code extension omitted from content brief: The content brief explicitly asks to cover VS Code extensions. The Motoko VS Code extension (dfinity/vscode-motoko) is mentioned in portal source material (tutorials/developer-liftoff/level-1/1.2-dev-env.mdx). Consider adding a brief mention under a new "Editor tooling" section or as a note within the CDKs/Motoko section. If intentionally excluded (e.g., the extension is no longer maintained), document that decision.

  • didc has no installation pointer: The didc section links to the GitHub repo but doesn't tell users how to install it. For a tools overview page, a one-line note (e.g., "Install via cargo install didc or download from the releases page") would help developers get started. The didc README and candid source don't provide install instructions beyond the repo itself, so this may need human verification.

  • brew install icp-cli doesn't install ic-wasm: The icp-cli section shows a Homebrew install command for icp-cli only. The official install guide always pairs them (brew install icp-cli then brew install ic-wasm). Adding brew install ic-wasm (or a note that ic-wasm must also be installed) would prevent confusion for users who follow the Homebrew path and then get recipe failures. The npm path already covers both in one command.

  • "Coming from dfx?" in Next steps: The CLAUDE.md rule says never reference dfx, but the link text "Coming from dfx?" and page path migrating-from-dfx.md are legitimate given the migration guide's explicit purpose. Still, for consistency with the project's no-dfx stance, consider phrasing as "Migrating from the legacy CLI?" so the text doesn't name the deprecated tool.

Verified

  • All internal links resolve: ../../languages/motoko/index.md, ../../languages/rust/index.md, ../../getting-started/quickstart.md, migrating-from-dfx.md, ../../reference/candid-spec.md — all confirmed with ls.
  • icp settings telemetry false verified against .sources/icp-cli/docs/telemetry.md (exact command, correct).
  • DO_NOT_TRACK=1 and CI auto-disable behavior verified against .sources/icp-cli/docs/telemetry.md.
  • icp settings telemetry command exists in .sources/icp-cli/docs/reference/cli.md.
  • icp new command verified in .sources/icp-cli/docs/reference/cli.md.
  • icp --version pattern verified in .sources/icp-cli/docs/guides/installation.md.
  • npm package names @icp-sdk/icp-cli and @icp-sdk/ic-wasm verified in .sources/icp-cli/docs/guides/installation.md.
  • brew install icp-cli and brew install ic-wasm verified in .sources/icp-cli/docs/guides/installation.md.
  • ICP Ninja 20-minute canister lifetime verified against .sources/portal/docs/building-apps/developer-tools/icp-ninja.mdx.
  • ICP Ninja 5 MB / 2 canister limits verified against .sources/portal/docs/building-apps/developer-tools/icp-ninja.mdx.
  • ICP Ninja URL https://icp.ninja verified against portal source.
  • Community CDK URLs (Azle, Kybra, icpp-pro, moonbit-ic-cdk) and doc links verified against .sources/portal/docs/building-apps/developer-tools/cdks/index.mdx.
  • Quill GitHub repo URL https://github.com/dfinity/quill verified against portal source.
  • Rust CDK API reference URL https://docs.rs/ic-cdk/latest/ic_cdk/ matches the allowed linking rules table in content-authoring.md.
  • creating-recipes.md and creating-templates.md files exist in .sources/icp-cli/docs/guides/.
  • No dfx commands used anywhere on the page.
  • mo:core used (not mo:base) in the Motoko description.
  • Frontmatter is complete: title, description, sidebar.order present and consistent with body content.
  • <!-- Upstream: --> comment is present at the bottom of the page (CI-enforced requirement met).
  • Page ends with ## Next steps section (content rule met).
  • No .mdx / JSX syntax used (correct use of .md).
  • No internetcomputer.org/docs/ links (banned pattern not present).
  • Content follows Diataxis how-to guide format for the guides/ section.

- Fix Node.js version requirement: change ">= 22" to "LTS" to match
  the authoritative npm/icp-cli/package.json (>=18.0.0) and installation guide
- Add brew install ic-wasm to Homebrew install path (was missing, causing
  recipe failures for users who follow the Homebrew path)
- Add Editor tooling section with Motoko VS Code extension (vscode-motoko),
  as noted in portal source material and the content brief
- Add didc install pointer (prebuilt binaries from releases page)
- Rename "Coming from dfx?" to "Migrating from the legacy CLI?" in Next steps
  to avoid naming the deprecated tool in prose
- Update Upstream comment to include portal level-1 dev-env and candid README
@marc0olo
Copy link
Copy Markdown
Member Author

Feedback addressed for PR #78 (docs/guides/tools/overview.md):

Changes applied

  • Node.js version fix (must-fix): Changed "requires Node.js >= 22" to "requires Node.js LTS". Cross-checked against .sources/icp-cli/npm/icp-cli/package.json ("engines": {"node": ">=18.0.0"}) and .sources/icp-cli/docs/guides/installation.md (says "Node.js (LTS)"). The icp-cli SKILL.md incorrectly states ">= 22" — the package.json is the authoritative source.

  • Homebrew path missing ic-wasm (suggestion): Added brew install ic-wasm after brew install icp-cli in the Homebrew install section. Verified against .sources/icp-cli/docs/guides/installation.md which shows both commands as separate steps.

  • Added Editor tooling section (suggestion): Added a new "## Editor tooling" section with the Motoko VS Code extension (dfinity/vscode-motoko). Confirmed by .sources/portal/docs/tutorials/developer-liftoff/level-1/1.2-dev-env.mdx which recommends the extension. Used the GitHub repo URL (verified in portal source) — did not add a Marketplace URL as it was not found in source material.

  • Added didc install pointer (suggestion): Added "Install: download a prebuilt binary from the releases page" to the didc section. Confirmed by .sources/candid/README.md: "Download prebuilt binary from releases". Omitted cargo install didc as this was not documented in candid source material (reviewer flagged it as needing human verification).

  • Renamed "Coming from dfx?" link text (suggestion): Changed to "Migrating from the legacy CLI?" to avoid naming the deprecated tool in prose, consistent with CLAUDE.md no-dfx rule while preserving the legitimate link to the migration guide.

  • Updated Upstream comment: Added portal dev-env page (used for VS Code extension) and candid README (used for didc releases URL) to the upstream sources list.

Items skipped

None — all feedback items were applied or handled conservatively (cargo install didc omitted because not confirmed in source material).

Build note

The build fails on docs/guides/backends/https-outcalls.mdx due to missing .sources/examples content (submodule not fully initialized in this worktree). This failure is pre-existing on the branch and unrelated to changes on this PR — confirmed by verifying the same failure occurs on the unmodified branch.

@marc0olo marc0olo merged commit 5ea9abb into main Apr 16, 2026
1 check passed
@marc0olo marc0olo deleted the docs/guides-tools-overview branch April 16, 2026 15:43
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.

1 participant