Skip to content

refactor: reorganize workspace layout and docs#70

Merged
lwshang merged 3 commits into
mainfrom
lwshang/workspace-layout
Jun 2, 2026
Merged

refactor: reorganize workspace layout and docs#70
lwshang merged 3 commits into
mainfrom
lwshang/workspace-layout

Conversation

@lwshang
Copy link
Copy Markdown
Collaborator

@lwshang lwshang commented Jun 2, 2026

Reorganizes the repository layout — no functional changes.

  • Move all crates under crates/ with role-based names (sync-core, sync-plugin, e2e).
  • Inherit common package metadata from the workspace.
  • Restructure docs into a top-level docs/, slim down the README, and add AGENT.md.

More docs/ pages will be added in follow-up PRs.

🤖 Generated with Claude Code

lwshang and others added 3 commits June 2, 2026 11:32
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>
@lwshang lwshang marked this pull request as ready for review June 2, 2026 18:20
@lwshang lwshang requested a review from a team as a code owner June 2, 2026 18:20
@lwshang lwshang merged commit 8223d45 into main Jun 2, 2026
11 checks passed
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