Angular v21 monorepo for @guildofgleks/ui —
a component library with no CDK and no Material, and the two apps that consume it.
| Project (CLI name) | Path | What it is |
|---|---|---|
@gleks/ui |
projects/gleks/ui |
the library — published to npm as @guildofgleks/ui |
ui-showcase |
projects/ui-showcase |
demo app, and the only place local library changes are verified |
gleks-ui-lab |
projects/gleks-ui-lab |
public documentation site — tracks the published package, never a local build |
Looking for how to use the library? That is
projects/gleks/ui/README.md — install, setup, theming — and
CHANGELOG.md for what changed.
npm install
npm run buildLibAndStart # builds the library, then serves ui-showcase on :4200ui-showcase resolves @guildofgleks/ui from dist/gleks/ui, so a library change shows up
after npm run build:lib and a dev-server restart. Do not copy builds into node_modules —
gleks-ui-lab shares that folder and must keep resolving the published package.
| Script | What it does |
|---|---|
npm run build:lib |
build the library into dist/gleks/ui |
npm run test:lib |
the library's unit tests (Vitest) |
npm run lint |
lint @gleks/ui and ui-showcase |
npm run format · format:check |
Prettier over projects/** |
npm run check:tokens |
verify the design-token contract and the generated token files |
npm run generate:tokens |
regenerate TOKENS.md and token-names.ts after editing theme.css |
npm run buildLibAndStart |
build the library, then serve ui-showcase |
npm run build:showcase |
build ui-showcase |
npm run start:lab · build:lab |
serve / build the documentation site |
Everything finishes in under 15 seconds, with one exception: the raw ng build gleks-ui-lab
completes its work and then never exits. npm run build:lab wraps it and is safe to run — see
running-commands.instructions.md
before concluding that something is stuck.
There is no ng serve default project — name one (ng serve ui-showcase) or use the scripts
above.
Read CLAUDE.md first. It indexes the authoritative rules in
.github/instructions/ — Angular and TypeScript conventions, the
library authoring guide and its definition of done, the three-layer token contract, and the API
design rules — and points at the current plan in docs/.
Three rules that catch people out:
- A library change touches exactly two projects: the library and
ui-showcase. Anythinggleks-ui-labwill need is recorded indocs/lab-after-publish.mdinstead, and deleted from there once it is done. - The token contract is enforced. No literal fallbacks in component stylesheets, no token a
component reads that
theme.cssdoes not declare.npm run check:tokensfails the build on either. - Publishing is the maintainer's step. Tags are pushed ahead of the release on purpose: every version is verified against a real consuming project first, and the version bump happens at publish time.
projects/gleks/ui/README.md |
using the library — install, setup, theming |
projects/gleks/ui/AGENTS.md |
per-component API reference (inputs, outputs, slots, defaults) |
projects/gleks/ui/TOKENS.md |
every --gog-* token, generated from theme.css |
projects/gleks/ui/CHANGELOG.md |
release history |
docs/ |
working plans and their outcomes |