refactor: reorganize workspace layout and docs#70
Merged
Conversation
Move all crates into a single crates/ directory and rename them so each lib + thin-wasm-wrapper pair is obvious from a shared prefix, removing the need for the layout graph in README: ic-certified-assets -> crates/canister-core (logic lib) canister -> crates/canister (wasm, deployed to ICP) assets-sync -> crates/sync-core (logic lib) plugin -> crates/sync-plugin (wasm32-wasip2 icp-cli plugin) e2e -> crates/e2e Workspace members switch to the crates/* glob. The repo no longer publishes to crates.io, so publish.yml is removed and the crates.io metadata on canister-core is trimmed (publish = false). e2e/build.rs derives the workspace root two levels up and builds sync-plugin (sync_plugin.wasm); the deployable artifact stays canister.wasm. README/TEST and crate docs updated; canister-core/CHANGELOG.md keeps the old name as historical record. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Make all crates consistently inherit version, authors, edition, repository, license, and publish from [workspace.package] via `.workspace = true`. Drop publish-only metadata (description, categories, keywords) since no crates in this repo are published. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Move all crate-level Markdown into a flat docs/ directory and reduce the
root README to a landing page.
- docs/: architecture, redirects, headers
- README.md: title + one-line description only
- AGENT.md: dev/testing principles (from TEST.md)
- Remove stale crates/**/*.md: the old ic-certified-assets CHANGELOG, the
canister/canister-core README stubs, the sync-plugin README, PERMISSIONS.md,
and the in-tree OPTIMIZATIONS.md
- Correct docs against the code while merging duplicated reference material:
- _headers patterns: single greedy `*` works anywhere (incl. /*.md and
mid-path), only `**` and `:placeholder` rejected
- Fix stale html_handling.rs comment: synth rules are prepended before the
user's _redirects, not appended after
- Repoint HEADERS.md/README code comments at the new docs/ paths
Deferred sync-performance notes are internal-only and now live outside the
repo (~/dfinity/sync-optimizations.md).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
raymondk
approved these changes
Jun 2, 2026
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.
Reorganizes the repository layout — no functional changes.
crates/with role-based names (sync-core,sync-plugin,e2e).docs/, slim down the README, and addAGENT.md.More
docs/pages will be added in follow-up PRs.🤖 Generated with Claude Code