refactor: Rename icp to icp-project - #772
Open
adamspofford-dfinity wants to merge 3 commits into
Open
adamspofford-dfinity wants to merge 3 commits into
adamspofford-dfinity wants to merge 3 commits into
Conversation
adamspofford-dfinity
added this pull request to stack #777
September 11, 2026 15:05
adamspofford-dfinity
force-pushed
the
spofford/rename-icp-project
branch
from
September 14, 2026 14:23
2c24468 to
962f435
Compare
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Two documentation references incorrectly identify either the renamed library or the unchanged CLI tracing target.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Renames the core project library from icp to icp-project, distinguishing it from the icp CLI binary and updating workspace consumers accordingly.
Changes:
- Renames the package and dependency to
icp-project. - Updates Rust imports, feature references, tests, lockfile, and tooling guidance.
- Moves project-domain modules under the renamed crate path.
File summaries
| File | Description |
|---|---|
crates/schema-gen/src/main.rs |
Updates schema imports. |
crates/schema-gen/Cargo.toml |
Renames schema dependency. |
crates/icp-project/src/signal.rs |
Updates doctest imports. |
crates/icp-project/src/prelude.rs |
Carries shared constants and paths. |
crates/icp-project/src/operations/wasm.rs |
Carries Candid extraction utilities. |
crates/icp-project/src/operations/sync.rs |
Carries sync orchestration. |
crates/icp-project/src/operations/recover_cycles.rs |
Carries cycle recovery logic. |
crates/icp-project/src/operations/proxy.rs |
Carries proxied update calls. |
crates/icp-project/src/operations/mod.rs |
Exposes operation modules. |
crates/icp-project/src/operations/misc.rs |
Carries operation utilities. |
crates/icp-project/src/operations/candid_compat.rs |
Carries compatibility checks. |
crates/icp-project/src/operations/build.rs |
Carries build orchestration. |
crates/icp-project/src/operations/binding_env_vars.rs |
Carries binding-variable updates. |
crates/icp-project/src/network/access.rs |
Carries network access models. |
crates/icp-project/src/manifest/serde_helpers.rs |
Carries deserialization helpers. |
crates/icp-project/src/manifest/recipe.rs |
Carries recipe manifests. |
crates/icp-project/src/manifest/environment.rs |
Carries environment manifests. |
crates/icp-project/src/manifest/dependency.rs |
Carries dependency manifests. |
crates/icp-project/src/manifest/adapter/script.rs |
Carries script adapters. |
crates/icp-project/src/manifest/adapter/prebuilt.rs |
Carries prebuilt adapters. |
crates/icp-project/src/manifest/adapter/mod.rs |
Exposes adapter modules. |
crates/icp-project/src/fs/yaml.rs |
Carries YAML loading. |
crates/icp-project/src/fs/mod.rs |
Carries filesystem helpers. |
crates/icp-project/src/fs/lock.rs |
Carries filesystem locking. |
crates/icp-project/src/fs/json.rs |
Carries JSON persistence. |
crates/icp-project/src/canister/wasm.rs |
Carries WASM fetch abstraction. |
crates/icp-project/src/canister/sync/mod.rs |
Carries sync dispatch. |
crates/icp-project/src/canister/script.rs |
Carries script execution. |
crates/icp-project/src/canister/recipe/mod.rs |
Carries recipe resolution. |
crates/icp-project/src/canister/build/script.rs |
Carries script builds. |
crates/icp-project/src/canister/build/prebuilt.rs |
Carries prebuilt builds. |
crates/icp-project/src/canister/build/mod.rs |
Carries build dispatch. |
crates/icp-project/src/agent.rs |
Carries lazy-agent abstraction. |
crates/icp-project/Cargo.toml |
Renames the package. |
crates/icp-cli/tests/token_tests.rs |
Updates test imports. |
crates/icp-cli/tests/telemetry_tests.rs |
Updates test imports. |
crates/icp-cli/tests/sync_tests.rs |
Updates sync test references. |
crates/icp-cli/tests/recipe_tests.rs |
Updates test imports. |
crates/icp-cli/tests/project_tests.rs |
Updates test imports. |
crates/icp-cli/tests/network_tests.rs |
Updates test imports. |
crates/icp-cli/tests/network_status_tests.rs |
Updates test imports. |
crates/icp-cli/tests/network_ping_tests.rs |
Updates test imports. |
crates/icp-cli/tests/message_send_tests.rs |
Updates test references. |
crates/icp-cli/tests/identity_tests.rs |
Updates test imports. |
crates/icp-cli/tests/deploy_tests.rs |
Updates test references. |
crates/icp-cli/tests/dependency_tests.rs |
Updates test imports. |
crates/icp-cli/tests/cycles_tests.rs |
Updates test imports. |
crates/icp-cli/tests/common/softhsm.rs |
Updates helper imports. |
crates/icp-cli/tests/common/context.rs |
Updates helper imports. |
crates/icp-cli/tests/common/clients/icp_cli.rs |
Updates client imports. |
crates/icp-cli/tests/common/clients.rs |
Updates client imports. |
crates/icp-cli/tests/canister_top_up_tests.rs |
Updates test imports. |
crates/icp-cli/tests/canister_stop_tests.rs |
Updates test imports. |
crates/icp-cli/tests/canister_status_tests.rs |
Updates test imports. |
crates/icp-cli/tests/canister_start_tests.rs |
Updates test imports. |
crates/icp-cli/tests/canister_snapshot_tests.rs |
Updates test imports. |
crates/icp-cli/tests/canister_settings_tests.rs |
Updates test imports. |
crates/icp-cli/tests/canister_metadata_tests.rs |
Updates test imports. |
crates/icp-cli/tests/canister_logs_tests.rs |
Updates test imports. |
crates/icp-cli/tests/canister_link_tests.rs |
Updates test references. |
crates/icp-cli/tests/canister_install_tests.rs |
Updates test imports. |
crates/icp-cli/tests/canister_info_tests.rs |
Updates test imports. |
crates/icp-cli/tests/canister_delete_tests.rs |
Updates test imports. |
crates/icp-cli/tests/canister_create_tests.rs |
Updates test imports. |
crates/icp-cli/tests/canister_call_tests.rs |
Updates test imports. |
crates/icp-cli/tests/canister_call_sign_tests.rs |
Updates test references. |
crates/icp-cli/tests/canister_call_root_key_tests.rs |
Updates test imports. |
crates/icp-cli/tests/bundle_tests.rs |
Updates test imports. |
crates/icp-cli/tests/build_tests.rs |
Updates test imports. |
crates/icp-cli/tests/build_adapter_tests.rs |
Updates test imports. |
crates/icp-cli/src/telemetry.rs |
Updates prelude import. |
crates/icp-cli/src/render/plain.rs |
Updates task imports. |
crates/icp-cli/src/render/mod.rs |
Updates renderer references. |
crates/icp-cli/src/render/interactive.rs |
Updates task imports. |
crates/icp-cli/src/options.rs |
Updates option-model imports. |
crates/icp-cli/src/main.rs |
Updates core references. |
crates/icp-cli/src/dist.rs |
Updates filesystem calls. |
crates/icp-cli/src/complete.rs |
Updates completion imports. |
crates/icp-cli/src/commands/token/transfer.rs |
Updates parser import. |
crates/icp-cli/src/commands/token/approve.rs |
Updates parser imports. |
crates/icp-cli/src/commands/sync.rs |
Updates sync imports. |
crates/icp-cli/src/commands/project/bundle.rs |
Updates bundle imports. |
crates/icp-cli/src/commands/new.rs |
Updates crate guidance. |
crates/icp-cli/src/commands/network/stop.rs |
Updates network imports. |
crates/icp-cli/src/commands/network/status.rs |
Updates network imports. |
crates/icp-cli/src/commands/network/start.rs |
Updates network imports. |
crates/icp-cli/src/commands/network/args.rs |
Updates constant import. |
crates/icp-cli/src/commands/message/send.rs |
Updates message dependencies. |
crates/icp-cli/src/commands/identity/reauth.rs |
Updates lock error type. |
crates/icp-cli/src/commands/identity/new.rs |
Updates identity dependencies. |
crates/icp-cli/src/commands/identity/link/web.rs |
Updates web identity references. |
crates/icp-cli/src/commands/identity/link/hsm.rs |
Updates HSM references. |
crates/icp-cli/src/commands/identity/import.rs |
Updates identity import references. |
crates/icp-cli/src/commands/identity/export.rs |
Updates identity export imports. |
crates/icp-cli/src/commands/identity/delegation/use.rs |
Updates delegation references. |
crates/icp-cli/src/commands/identity/delegation/sign.rs |
Updates delegation references. |
crates/icp-cli/src/commands/identity/delegation/request.rs |
Updates delegation references. |
crates/icp-cli/src/commands/deploy.rs |
Updates deployment imports. |
crates/icp-cli/src/commands/cycles/transfer.rs |
Updates cycle parser import. |
crates/icp-cli/src/commands/cycles/mint.rs |
Updates cycle parser imports. |
crates/icp-cli/src/commands/completions.rs |
Updates prelude import. |
crates/icp-cli/src/commands/canister/top_up.rs |
Updates parser import. |
crates/icp-cli/src/commands/canister/stop.rs |
Updates operation import. |
crates/icp-cli/src/commands/canister/status.rs |
Updates canister imports. |
crates/icp-cli/src/commands/canister/start.rs |
Updates operation import. |
crates/icp-cli/src/commands/canister/snapshot/upload.rs |
Updates snapshot imports. |
crates/icp-cli/src/commands/canister/snapshot/restore.rs |
Updates operation import. |
crates/icp-cli/src/commands/canister/snapshot/list.rs |
Updates snapshot imports. |
crates/icp-cli/src/commands/canister/snapshot/download.rs |
Updates snapshot references. |
crates/icp-cli/src/commands/canister/snapshot/delete.rs |
Updates operation import. |
crates/icp-cli/src/commands/canister/snapshot/create.rs |
Updates snapshot imports. |
crates/icp-cli/src/commands/canister/settings/update.rs |
Updates settings references. |
crates/icp-cli/src/commands/canister/settings/sync.rs |
Updates settings references. |
crates/icp-cli/src/commands/canister/settings/show.rs |
Updates operation import. |
crates/icp-cli/src/commands/canister/mod.rs |
Updates visibility import. |
crates/icp-cli/src/commands/canister/migrate_id.rs |
Updates migration imports. |
crates/icp-cli/src/commands/canister/metadata.rs |
Updates metadata import. |
crates/icp-cli/src/commands/canister/logs.rs |
Updates logging imports. |
crates/icp-cli/src/commands/canister/link.rs |
Updates environment import. |
crates/icp-cli/src/commands/canister/install.rs |
Updates installation imports. |
crates/icp-cli/src/commands/canister/delete.rs |
Updates deletion imports. |
crates/icp-cli/src/commands/canister/create.rs |
Updates creation references. |
crates/icp-cli/src/commands/canister/call.rs |
Updates call references. |
crates/icp-cli/src/commands/build.rs |
Updates build imports. |
crates/icp-cli/src/commands/args.rs |
Updates shared argument imports. |
crates/icp-cli/src/call_output.rs |
Updates output helper references. |
crates/icp-cli/Cargo.toml |
Renames CLI dependency. |
crates/icp-app/src/wasm.rs |
Updates WASM dependencies. |
crates/icp-app/src/telemetry_data.rs |
Updates project model references. |
crates/icp-app/src/signed_message.rs |
Updates signed-message dependencies. |
crates/icp-app/src/settings.rs |
Updates settings dependencies. |
crates/icp-app/src/recipe.rs |
Updates recipe dependencies. |
crates/icp-app/src/package.rs |
Updates package-cache references. |
crates/icp-app/src/operations/token/transfer.rs |
Updates parser import. |
crates/icp-app/src/operations/token/approve.rs |
Updates parser import. |
crates/icp-app/src/operations/snapshot_transfer.rs |
Updates snapshot dependencies. |
crates/icp-app/src/network/resolve.rs |
Updates network dependencies. |
crates/icp-app/src/network/managed/run.rs |
Updates launcher dependencies. |
crates/icp-app/src/network/managed/launcher.rs |
Updates launcher references. |
crates/icp-app/src/network/managed/docker.rs |
Updates Docker network imports. |
crates/icp-app/src/network/managed/cache.rs |
Updates cache references. |
crates/icp-app/src/network/directory.rs |
Updates network-directory references. |
crates/icp-app/src/network/custom_domains.rs |
Updates filesystem references. |
crates/icp-app/src/network/config.rs |
Updates prelude import. |
crates/icp-app/src/network/accessor.rs |
Updates network accessor imports. |
crates/icp-app/src/lib.rs |
Updates architectural links. |
crates/icp-app/src/identity/mod.rs |
Updates identity dependencies. |
crates/icp-app/src/identity/manifest.rs |
Updates manifest dependencies. |
crates/icp-app/src/identity/keyring_mock.rs |
Updates prelude import. |
crates/icp-app/src/identity/key.rs |
Updates identity references. |
crates/icp-app/src/identity/delegation.rs |
Updates delegation imports. |
crates/icp-app/src/directories.rs |
Updates directory imports. |
crates/icp-app/src/context/tests.rs |
Updates context test references. |
crates/icp-app/src/context/mod.rs |
Updates context model references. |
crates/icp-app/src/context/init.rs |
Updates initialization dependencies. |
crates/icp-app/src/agent.rs |
Updates prelude import. |
crates/icp-app/Cargo.toml |
Renames dependencies and features. |
clippy.toml |
Updates path-type guidance. |
Cargo.toml |
Renames workspace dependency. |
Cargo.lock |
Records renamed package graph. |
.claude/testing.md |
Updates testing guidance. |
.claude/CLAUDE.md |
Documents the app/project boundary. |
.claude/architecture.md |
Updates architectural paths. |
Review details
- Files reviewed: 132/187 changed files
- Comments generated: 2
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
adamspofford-dfinity
force-pushed
the
spofford/rename-icp-project
branch
from
September 14, 2026 18:34
bda60a9 to
5778d51
Compare
Now that the app half has left, the crate holds only what a project is and what can be done to one, so `icp` is no longer the name for it — and `icp` was already the name of the binary, which made `icp::render::plain` in a tracing target mean the CLI rather than the library. Mechanical: the directory, the package name, the dependency entries and every `icp::` path become `icp-project` / `icp_project::`. Tracing targets named in test assertions are left alone, since those still name the binary. The checked-in guidance is brought up to date with the two crates: the workspace listing, the paths in `architecture.md`, the mock-helper note in `testing.md` (which now explains the `test-util` feature), and a new section describing the app/project boundary — which side a thing belongs on, the four seams that cross it, and why their errors are the one sanctioned exception to the per-action error-variant rule.
The convention the seam errors actually follow is `#[snafu(transparent)]`,
not a `{source}` display: restating the cause as the wrapper's own message
while still reporting it as a source prints it twice in every chain.
Says so, and says plainly that this is where `transparent` is allowed over a
boxed foreign error, since the rule below otherwise reserves it for this
repo's own error types.
adamspofford-dfinity
force-pushed
the
spofford/rename-icp-project
branch
from
September 14, 2026 19:14
5778d51 to
56bb10b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stack created with GitHub Stacks CLI • Give Feedback 💬