@nadicodeai/design-system 12.1.172 → 12.1.174

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/AGENTS.md CHANGED
@@ -1,12 +1,43 @@
1
1
  # @nadicodeai/design-system
2
2
 
3
- `DESIGN.md` is nadicode's design authority for the tokens, the visual direction
4
- and the rules every component, website section and product screen shares. React
5
- components belong to `@nadicodeai/ui`, and a component's own contract is the
6
- usage page in its source; `examples/` contains rendered specimens.
3
+ React components belong to `@nadicodeai/ui`, and a component's own contract is
4
+ the usage page in its source; `examples/` contains rendered specimens.
7
5
 
8
- - Design and CSS changes: `product-design` first, then the relevant section of
9
- `DESIGN.md`.
6
+ ## What goes in DESIGN.md
7
+
8
+ `DESIGN.md` is nadicode's visual identity in
9
+ [Google's DESIGN.md format](https://github.com/google-labs-code/design.md/blob/main/docs/spec.md):
10
+ the four token groups in its front matter, and prose saying how those values
11
+ look applied, in the format's sections (Overview, Colors, Typography, Layout,
12
+ Elevation & Depth, Shapes, Components, Do's and Don'ts) and the ones it adds for
13
+ the same purpose (Data Visualization, Motion, Iconography, Brand media
14
+ authority, Registers). Its Components section says how components look: the
15
+ tokens, materials and states their appearance takes.
16
+
17
+ It never says how a component, a composition or a page is built, filled or
18
+ placed, such as what a card's header holds, which composition a page renders or
19
+ where a command goes, even when several components share the rule
20
+ ([ADR](../../docs/adr/2026-10-27-design-md-holds-the-visual-identity.md)). Such a
21
+ rule goes to its owner:
22
+
23
+ - What a component or composition does, takes or holds: its types and the usage
24
+ page in its source in `@nadicodeai/ui`.
25
+ - How a Portal page is assembled: its composition, and the block in
26
+ `apps/portal/registry/blocks/` that shows it.
27
+ - What code can detect: a type or a lint rule in `packages/oxlint-plugin/`.
28
+ - What a pull request decided and worth repeating: an exemplar in the
29
+ `product-design` skill, whose rule index links every rule to its owner.
30
+ - A product's pages and scope: that app's docs.
31
+
32
+ Edit `DESIGN.md` only when the look changes: a token, a material, the type
33
+ scale, a colour's meaning, a radius, a motion value. Its sections that still
34
+ hold rules of the second kind move to their owners in
35
+ [#5187](https://github.com/nadicodeai/nadicodeai/issues/5187); edit them only to
36
+ move a rule out.
37
+
38
+ ## Working here
39
+
40
+ - Design and CSS changes: `product-design` first, then the owner above.
10
41
  - Placement: `../ui/AGENTS.md`. Every reusable component lives in
11
42
  `@nadicodeai/ui`, even while one product alone uses it.
12
43
  - Terms: `GLOSSARY.md`. Static consumption: `README.md`.
package/DESIGN.md CHANGED
@@ -2,11 +2,10 @@
2
2
  version: alpha
3
3
  name: nadicode Design System
4
4
  description: >-
5
- nadicode's design system and its design authority for tokens, visual
6
- direction and the rules every component and page shares: every component,
7
- website section, and product screen in the website, the Portal, the Nadia
8
- desktop app, and the Alveare desktop app builds on it. A component's own
9
- contract is the usage page in its source in @nadicodeai/ui.
5
+ nadicode's visual identity: the tokens and how they look applied in every
6
+ component, website section and product screen of the website, the Portal,
7
+ the Nadia desktop app and the Alveare desktop app. What a component does,
8
+ takes or holds is the usage page in its source in @nadicodeai/ui.
10
9
 
11
10
  colors:
12
11
  action: "#1e3cff"
@@ -525,7 +524,7 @@ spacing:
525
524
 
526
525
  ## Overview
527
526
 
528
- This file is nadicode's design system and its design authority for tokens, visual direction and the rules every component and page shares; a component's own contract is the usage page in its source in `@nadicodeai/ui`. The tokens above are the values; the sections below are the rules for applying them. Every component in `@nadicodeai/ui`, every website section, and every screen in the Portal, Nadia and Alveare builds on it. Another document may say how one product applies a rule, and links here for the rule; it never restates one. A shared rule that is missing here is added here first; a rule of one component is added to its usage page.
527
+ This file is nadicode's visual identity: the tokens above are the values, and the sections below say how they look applied. Every component in `@nadicodeai/ui`, every website section, and every screen in the Portal, Nadia and Alveare builds on it. What a component, a composition or a page does, takes or holds is never written here: [`AGENTS.md`](AGENTS.md#what-goes-in-designmd) says what this file holds and where every other design rule goes.
529
528
 
530
529
  nadicode puts AI Agents to work inside small and mid-sized companies. Its sites and products read as a technology company with a real product: the interface is neutral and exact, the product is shown working, and colour and depth give the page its energy. Three ideas carry every screen:
531
530
 
@@ -914,7 +913,7 @@ Every component has a usage page, as Geist documents each of its own: what it is
914
913
  | Words | Which strings the product words, and how. |
915
914
  | Access | Its role, its name, its keyboard path and its focus. |
916
915
 
917
- The page is written in the component's own source, as the TSDoc of its main export (`@family`, `@when`, `@instead`, `@behaviour`, `@words`, `@access`), so an editor shows it on hover in every product; `@nadicodeai/ui`'s showcase renders every page, family by family, with the component drawn in its states. A component without its usage page, or a page without its specimen, fails the package's checks. A usage page holds its component's own rules, applies the shared rules in this file and never restates one.
916
+ The page is written in the component's own source, as the TSDoc of its main export (`@family`, `@when`, `@instead`, `@behaviour`, `@words`, `@access`), so an editor shows it on hover in every product; `@nadicodeai/ui`'s showcase renders every page, family by family, with the component drawn in its states. A component without its usage page, or a page without its specimen, fails the package's checks. A usage page holds what its component does, takes and holds, applies the look in this file and never restates it.
918
917
 
919
918
  The table below maps all 73 entries in the [Geist component reference](https://vercel.com/geist/introduction) to our shared owners; how each owner is used is on its usage page. **Component** means a public owner exists for the job; it does not promise every Geist prop. **Composition** means existing parts provide the presentation together. An **enhanced capability gap** names specific behavior, not the absence of a matching component name. Use our exported APIs and names, not Geist's prop names: for example, our Button appearance is `variant`, while HTML submission behavior is `type`. A dedicated name in Geist does not require another primitive in our library; prefer existing compositions before adding another registry or dependency.
920
919
 
@@ -1255,7 +1254,7 @@ The clear space is one stroke width of the rendered logo on every side. The mini
1255
1254
  - Do use the dotted field only on a canvas where things are arranged. Don't put it behind lists, dashboards, settings or website sections.
1256
1255
  - Do build a page from its composition. Don't assemble a page's header, toolbar, rows or menus by hand.
1257
1256
  - Do put navigation in the top bar and the page's actions on its title row. Don't put an action in the top bar or a second sidebar beside the first.
1258
- - Do add a shared rule here, and a component's own rule to its usage page, before a product needs it. Don't restate a rule in another document; link to it.
1257
+ - Do change this file when the look changes, and put how a component or a page is built with its owner. Don't restate this file in another document; link to it.
1259
1258
 
1260
1259
  ## Token extension
1261
1260
 
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # nadicode Design System
2
2
 
3
- The `@nadicodeai/design-system` package. [`DESIGN.md`](./DESIGN.md) is nadicode's design system and its design authority: every token, the visual direction and the rules every component and page shares. A component's own contract is the usage page in its source in `@nadicodeai/ui`. This README says how to consume the package and how the build turns `DESIGN.md` into what it ships.
3
+ The `@nadicodeai/design-system` package. [`DESIGN.md`](./DESIGN.md) is nadicode's visual identity: every token and how it looks applied. [What goes in it](AGENTS.md#what-goes-in-designmd) says where every other design rule goes. This README says how to consume the package and how the build turns `DESIGN.md` into what it ships.
4
4
 
5
5
  This README is a package map and the setup guide for static or non-React consumers. React consumers use the UI package's stylesheet and follow [`packages/ui/README.md`](../ui/README.md); they do not compose design-system stylesheets themselves.
6
6
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://www.designtokens.org/schemas/2025.10/format.json",
3
- "$description": "nadicode's design system and its design authority for tokens, visual direction and the rules every component and page shares: every component, website section, and product screen in the website, the Portal, the Nadia desktop app, and the Alveare desktop app builds on it. A component's own contract is the usage page in its source in @nadicodeai/ui.",
3
+ "$description": "nadicode's visual identity: the tokens and how they look applied in every component, website section and product screen of the website, the Portal, the Nadia desktop app and the Alveare desktop app. What a component does, takes or holds is the usage page in its source in @nadicodeai/ui.",
4
4
  "nadicode": {
5
5
  "core": {
6
6
  "color": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://www.designtokens.org/schemas/2025.10/format.json",
3
- "$description": "nadicode's design system and its design authority for tokens, visual direction and the rules every component and page shares: every component, website section, and product screen in the website, the Portal, the Nadia desktop app, and the Alveare desktop app builds on it. A component's own contract is the usage page in its source in @nadicodeai/ui.",
3
+ "$description": "nadicode's visual identity: the tokens and how they look applied in every component, website section and product screen of the website, the Portal, the Nadia desktop app and the Alveare desktop app. What a component does, takes or holds is the usage page in its source in @nadicodeai/ui.",
4
4
  "nadicode": {
5
5
  "core": {
6
6
  "color": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nadicodeai/design-system",
3
- "version": "12.1.172",
3
+ "version": "12.1.174",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"