Skip to content

refactor!: rename to cryptos-web as a monorepo - #152

Merged
Bugs5382 merged 2 commits into
mainfrom
refactor/337-cryptos-web
Oct 1, 2026
Merged

Bugs5382 merged 2 commits into
mainfrom
refactor/337-cryptos-web

Conversation

@Bugs5382

@Bugs5382 Bugs5382 commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

What and why

The repository is now CryptOS-PKI/cryptos-web (renamed on GitHub; the old URLs redirect), and it becomes an npm workspaces monorepo:

  • apps/console: the Fleet Manager UI (@cryptos-pki/console), moved unchanged from the repo root (git mv, so history follows).
  • packages/ui (@cryptos-pki/ui): the UI kit. It holds the design tokens (tokens.css, the light and dark palettes), which moved out of the console's index.css; the console now imports them. The built CSS is byte-identical to main's, with the same asset hash.
  • packages/api-client (@cryptos-pki/api-client): the TypeScript stubs for both APIs. protoc-gen-es (pinned as a devDependency) builds them from cryptos-node/proto and cryptos-manager/proto, at the commits pinned in proto-refs.env (refactor!: rename to cryptos-node and own the node API protos cryptos-node#342 and refactor!: rename to cryptos-manager and own the fleet API protos cryptos-manager#168 merges). They replace the hand-copied src/gen/fleet tree. Imports become @cryptos-pki/api-client/cryptos/node/v1/... and .../cryptos/fleet/v1/.... Apart from the cryptos.v1 to cryptos.node.v1 package rename, the generated types match the old copy (one comment differs).
  • Tooling: lint and prettier run across the repo from the root, and npm test and npm run build run in every workspace. npm run generate regenerates the stubs and needs buf. Web CI installs a checksum-pinned buf and fails when packages/api-client/src/gen doesn't match the pinned protos.
  • Docs: README (name, a Layout section, stack, build commands, companion repos), AGENTS, and the CLAUDE title and repo path.

npm workspaces rather than pnpm, so the lockfile, npm ci and the manager image build keep working with the tooling they already use.

Follow-up: the manager's image build copies web/package.json and web/dist. A companion cryptos-manager PR points it at the workspace (apps/console/dist) and at CryptOS-PKI/cryptos-web, and lands right after this one.

Breaking: the bundle builds to apps/console/dist, and the stubs come from @cryptos-pki/api-client. Nothing is tagged yet.

Refs CryptOS-PKI/cryptos-node#337

Verification

  • Lint clean
  • Tests pass
  • Build succeeds
  • Documentation updated (if behavior or API changed)

How this was verified

  • npm run lint, npm test (console: 91 files and 559 tests; api-client: 3 tests) and npm run build pass locally. task license (golic) reports nothing to change.
  • packages/api-client/test/imports.test.ts fails with "Cannot find package" before the stubs exist, and passes once they're generated.
  • Regenerating from the pinned commits on GitHub gives the same files as generating from local checkouts.

The repository is now CryptOS-PKI/cryptos-web, laid out as npm
workspaces:

- apps/console: the Fleet Manager UI, moved unchanged from the repo root
  (@cryptos-pki/console).
- packages/ui: the UI kit, holding the design tokens (tokens.css, the
  light and dark palettes) moved out of the console's index.css, which
  now imports them. The built CSS is byte-identical.
- packages/api-client: the TypeScript stubs for both APIs, generated with
  protoc-gen-es from cryptos-node/proto and cryptos-manager/proto at the
  commits pinned in proto-refs.env (npm run generate). They replace the
  hand-copied src/gen/fleet tree, and the node types move to
  cryptos.node.v1.

Lint and formatting run across the repo from the root, and test and
build run in every workspace. Web CI installs a checksum-pinned buf and
fails when the generated stubs don't match the pinned protos. The
packages/api-client import test checks a node and a fleet type resolve.

BREAKING CHANGE: the console bundle builds to apps/console/dist, the
package.json and lockfile at the root describe a workspace, and the
stubs are imported from @cryptos-pki/api-client.

Signed-off-by: Bugs5382 <Bugs5382@users.noreply.github.com>
@Bugs5382 Bugs5382 added this to the v0.1.0 milestone Oct 1, 2026
@Bugs5382 Bugs5382 self-assigned this Oct 1, 2026
@Bugs5382
Bugs5382 marked this pull request as ready for review October 1, 2026 21:01
@github-actions github-actions Bot added the breaking Breaking change. Major version bump. label Oct 1, 2026
Signed-off-by: Bugs5382 <Bugs5382@users.noreply.github.com>
@Bugs5382

Bugs5382 commented Oct 1, 2026

Copy link
Copy Markdown
Contributor Author

Closing summary: the repo is renamed to cryptos-web and is now an npm workspaces monorepo, with apps/console (the unchanged console), packages/ui (the design tokens, and the built CSS is byte-identical) and packages/api-client (stubs built from the cryptos-node and cryptos-manager protos at pinned commits, replacing the hand-copied tree). Web CI checks the stubs match the pins. All checks are green. cryptos-manager#169 follows, for the image build.

@Bugs5382
Bugs5382 merged commit 9035b31 into main Oct 1, 2026
9 of 11 checks passed
@Bugs5382
Bugs5382 deleted the refactor/337-cryptos-web branch October 1, 2026 21:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking Breaking change. Major version bump.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant