@cere/cere-design-system 0.0.9 → 0.0.13

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/README.md CHANGED
@@ -5,7 +5,7 @@ Cere Network Design System built with Material UI and React.
5
5
  ## Installation
6
6
 
7
7
  ```bash
8
- npm install @cere-network/cere-design-system
8
+ npm install @cere/cere-design-system
9
9
  ```
10
10
 
11
11
  ## Usage
@@ -201,10 +201,204 @@ npm run lint
201
201
  - **Warning**: Orange/Yellow (#F59E0B)
202
202
  - **Tertiary**: Orange/Yellow (#F59E0B)
203
203
 
204
+ ## Spec-Driven Development
205
+
206
+ This project uses [GitHub Spec Kit](https://github.com/github/spec-kit) (`specify-cli`) for spec-driven development - a methodology where every feature starts with a specification document before implementation.
207
+
208
+ ### What is Spec-Driven Development?
209
+
210
+ Spec-Driven Development (SDD) is a structured approach to software development where:
211
+ 1. **Specs define features** - Write clear specifications before coding
212
+ 2. **Plans outline architecture** - Technical designs guide implementation
213
+ 3. **Tasks break down work** - Granular checklists ensure completeness
214
+ 4. **AI agents assist** - Specs provide context for AI-powered development
215
+
216
+ This ensures consistency, clarity, and maintainability across the entire design system.
217
+
218
+ ### Using Specify CLI
219
+
220
+ Install `specify-cli` (recommended via `uv`):
221
+ ```bash
222
+ uv tool install specify-cli
223
+ ```
224
+
225
+ Or with pipx/npm:
226
+ ```bash
227
+ pipx install specify-cli
228
+ # or
229
+ npm install -g specify-cli
230
+ ```
231
+
232
+ ### Development Workflow
233
+
234
+ #### 1. **Create a Specification**
235
+ Use AI agents (Cursor, Warp, Claude, etc.) with the `/speckit.specify` command:
236
+ ```bash
237
+ /speckit.specify Create a [ComponentName] component that [does something]
238
+ ```
239
+
240
+ This creates:
241
+ - New git branch: `001-component-name`
242
+ - Spec file: `specs/001-component-name/spec.md`
243
+ - Populated template with requirements, APIs, and acceptance criteria
244
+
245
+ #### 2. **Generate Implementation Plan**
246
+ After spec approval:
247
+ ```bash
248
+ /speckit.plan
249
+ ```
250
+
251
+ Creates `specs/001-component-name/plan.md` with:
252
+ - Technical architecture decisions
253
+ - Implementation phases
254
+ - Dependencies and considerations
255
+
256
+ #### 3. **Break Down into Tasks**
257
+ After plan approval:
258
+ ```bash
259
+ /speckit.tasks
260
+ ```
261
+
262
+ Creates `specs/001-component-name/tasks.md` with:
263
+ - Granular implementation checklist
264
+ - Testing requirements
265
+ - Documentation updates
266
+
267
+ #### 4. **Implement & Validate**
268
+ Follow the tasks checklist and validate:
269
+ ```bash
270
+ npm run type-check && npm run lint && npm test && npm run build
271
+ ```
272
+
273
+ ### Key Files
274
+
275
+ - `.specify/memory/constitution.md` - Project governing principles
276
+ - `.specify/memory/components-reference.md` - Complete component API reference
277
+ - `.specify/memory/workflow.md` - Step-by-step development workflow
278
+ - `.specify/memory/package-usage-guide.md` - How to use this package in other projects
279
+ - `.specify/templates/` - Spec, plan, and task templates
280
+ - `specs/` - Feature specifications and implementation plans
281
+
282
+ ### Using This Package in Your Application's SpecKit
283
+
284
+ If you're building an application that uses this design system and also uses Spec Kit, you can reference the design system's component documentation in your specs and AI agent context.
285
+
286
+ #### Method 1: Reference in Your Constitution
287
+
288
+ Add to your application's `.specify/memory/constitution.md`:
289
+
290
+ ```markdown
291
+ ## Article: UI Component Standards
292
+
293
+ ### Design System Requirement
294
+ All UI components MUST use the Cere Design System (@cere/cere-design-system).
295
+
296
+ ### Component Reference
297
+ Available components and their APIs are documented at:
298
+ `node_modules/@cere/cere-design-system/.specify/memory/components-reference.md`
299
+
300
+ All developers and AI agents MUST consult this reference before implementing UI features.
301
+ ```
302
+
303
+ #### Method 2: Create a Design System Memory File
304
+
305
+ Create `.specify/memory/design-system.md` in your application:
306
+
307
+ ```markdown
308
+ # Cere Design System Reference
309
+
310
+ This application uses @cere/cere-design-system
311
+
312
+ ## Quick Reference
313
+ See complete component reference:
314
+ `node_modules/@cere/cere-design-system/.specify/memory/components-reference.md`
315
+
316
+ Also see package usage guide:
317
+ `node_modules/@cere/cere-design-system/.specify/memory/package-usage-guide.md`
318
+
319
+ ## Installation & Setup
320
+ ```tsx
321
+ import { ThemeProvider, theme } from '@cere/cere-design-system';
322
+ import { Button, TextField, Card } from '@cere/cere-design-system';
323
+
324
+ <ThemeProvider theme={theme}>
325
+ <App />
326
+ </ThemeProvider>
327
+ ```
328
+ ```
329
+
330
+ #### AI Agent Instructions
331
+
332
+ When AI agents work on your application specs:
333
+ 1. They can reference `components-reference.md` for complete component APIs
334
+ 2. They should follow design system patterns and use existing components
335
+ 3. They get TypeScript types and usage examples from the reference
336
+
337
+ See `.specify/memory/package-usage-guide.md` (included in the npm package) for detailed integration instructions.
338
+
204
339
  ## Documentation
205
340
 
206
341
  - [Full Components Reference](./COMPONENTS.md) - Complete API documentation
207
342
  - [Integration Guide](./INTEGRATION.md) - Step-by-step integration instructions
343
+ - **[AI Agent Context](./.agent/README.md)** - Component reference optimized for AI agents (Claude, GPT-4, Cursor, etc.)
344
+
345
+ ## AI-Assisted Development
346
+
347
+ This design system includes comprehensive AI agent context to accelerate development with AI coding assistants.
348
+
349
+ ### For AI Agents (Cursor, Claude, GPT-4, etc.)
350
+
351
+ The package includes a complete component reference optimized for AI agents at `.agent/rules/COMPONENTS.md`.
352
+
353
+ **Quick Start:**
354
+ ```bash
355
+ # After installing the package
356
+ cat node_modules/@cere/cere-design-system/.agent/rules/COMPONENTS.md
357
+ ```
358
+
359
+ Paste the output into your AI conversation to give the agent complete knowledge of:
360
+ - All 70+ available components
361
+ - Props and TypeScript types
362
+ - Usage examples and patterns
363
+ - Theme configuration
364
+ - Best practices
365
+
366
+ **Setup Methods:**
367
+
368
+ 1. **Direct reference** - Copy the file content into your AI conversation
369
+ 2. **Project rules** - Add to `.cursorrules` or `.agent/rules/`
370
+ 3. **Auto-inject** - Use a postinstall script to copy to your project
371
+
372
+ See [.agent/README.md](./.agent/README.md) for detailed setup instructions and examples.
373
+
374
+ ## AI-Assisted Development
375
+
376
+ This design system includes comprehensive AI agent context to accelerate development with AI coding assistants.
377
+
378
+ ### For AI Agents (Cursor, Claude, GPT-4, etc.)
379
+
380
+ The package includes a complete component reference optimized for AI agents at `.agent/rules/COMPONENTS.md`.
381
+
382
+ **Quick Start:**
383
+ ```bash
384
+ # After installing the package
385
+ cat node_modules/@cere/cere-design-system/.agent/rules/COMPONENTS.md
386
+ ```
387
+
388
+ Paste the output into your AI conversation to give the agent complete knowledge of:
389
+ - All 70+ available components
390
+ - Props and TypeScript types
391
+ - Usage examples and patterns
392
+ - Theme configuration
393
+ - Best practices
394
+
395
+ **Setup Methods:**
396
+
397
+ 1. **Direct reference** - Copy the file content into your AI conversation
398
+ 2. **Project rules** - Add to `.cursorrules` or `.agent/rules/`
399
+ 3. **Auto-inject** - Use a postinstall script to copy to your project
400
+
401
+ See [.agent/README.md](./.agent/README.md) for detailed setup instructions and examples.
208
402
 
209
403
  ## Integration with Existing Projects
210
404
 
@@ -224,8 +418,8 @@ To use this package in `dynamic-indexer-client` or other projects:
224
418
 
225
419
  3. Use in your app:
226
420
  ```tsx
227
- import { theme } from '@cere-network/cere-design-system';
228
- import { Button, Dialog, Sidebar } from '@cere-network/cere-design-system';
421
+ import { theme } from '@cere/cere-design-system';
422
+ import { Button, Dialog, Sidebar } from '@cere/cere-design-system';
229
423
  ```
230
424
 
231
425
  See [INTEGRATION.md](./INTEGRATION.md) for detailed migration guide.
Binary file
package/dist/index.css ADDED
@@ -0,0 +1,79 @@
1
+ /* src/assets/fonts/human-sans-font.css */
2
+ @font-face {
3
+ font-family: "HumanSans";
4
+ font-weight: 200;
5
+ font-style: normal;
6
+ font-display: swap;
7
+ src: url("./HumanSans-ExtraLight-VL7DEKQ4.otf") format("opentype");
8
+ }
9
+ @font-face {
10
+ font-family: "HumanSans";
11
+ font-weight: 300;
12
+ font-style: normal;
13
+ font-display: swap;
14
+ src: url("./HumanSans-Light-YV7AFKRB.otf") format("opentype");
15
+ }
16
+ @font-face {
17
+ font-family: "HumanSans";
18
+ font-weight: 400;
19
+ font-style: normal;
20
+ font-display: swap;
21
+ src: url("./HumanSans-Regular-QMFEP3F6.otf") format("opentype");
22
+ }
23
+ @font-face {
24
+ font-family: "HumanSans";
25
+ font-weight: 500;
26
+ font-style: normal;
27
+ font-display: swap;
28
+ src: url("./HumanSans-Medium-UULJ3PIR.otf") format("opentype");
29
+ }
30
+ @font-face {
31
+ font-family: "HumanSans";
32
+ font-weight: 700;
33
+ font-style: normal;
34
+ font-display: swap;
35
+ src: url("./HumanSans-Bold-4EAJ3L3T.otf") format("opentype");
36
+ }
37
+ @font-face {
38
+ font-family: "HumanSans";
39
+ font-weight: 900;
40
+ font-style: normal;
41
+ font-display: swap;
42
+ src: url("./HumanSans-Black-C4YJONK7.otf") format("opentype");
43
+ }
44
+ @font-face {
45
+ font-family: "HumanSans";
46
+ font-weight: 200;
47
+ font-style: oblique;
48
+ font-display: swap;
49
+ src: url("./HumanSans-ExtraLightOblique-VK2JTUXF.otf") format("opentype");
50
+ }
51
+ @font-face {
52
+ font-family: "HumanSans";
53
+ font-weight: 300;
54
+ font-style: oblique;
55
+ font-display: swap;
56
+ src: url("./HumanSans-LightOblique-VIXV7QA6.otf") format("opentype");
57
+ }
58
+ @font-face {
59
+ font-family: "HumanSans";
60
+ font-weight: 400;
61
+ font-style: oblique;
62
+ font-display: swap;
63
+ src: url("./HumanSans-RegularOblique-YPKQJAAM.otf") format("opentype");
64
+ }
65
+ @font-face {
66
+ font-family: "HumanSans";
67
+ font-weight: 500;
68
+ font-style: oblique;
69
+ font-display: swap;
70
+ src: url("./HumanSans-MediumOblique-M7FHDZRS.otf") format("opentype");
71
+ }
72
+ @font-face {
73
+ font-family: "HumanSans";
74
+ font-weight: 700;
75
+ font-style: oblique;
76
+ font-display: swap;
77
+ src: url("./HumanSans-BoldOblique-4D325T4F.otf") format("opentype");
78
+ }
79
+ /*# sourceMappingURL=index.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/assets/fonts/human-sans-font.css"],"sourcesContent":["@font-face {\n font-family: 'HumanSans';\n font-weight: 200;\n font-style: normal;\n font-display: swap;\n src: url('./HumanSans-ExtraLight.otf') format('opentype');\n}\n\n@font-face {\n font-family: 'HumanSans';\n font-weight: 300;\n font-style: normal;\n font-display: swap;\n src: url('./HumanSans-Light.otf') format('opentype');\n}\n\n@font-face {\n font-family: 'HumanSans';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n src: url('./HumanSans-Regular.otf') format('opentype');\n}\n\n@font-face {\n font-family: 'HumanSans';\n font-weight: 500;\n font-style: normal;\n font-display: swap;\n src: url('./HumanSans-Medium.otf') format('opentype');\n}\n\n@font-face {\n font-family: 'HumanSans';\n font-weight: 700;\n font-style: normal;\n font-display: swap;\n src: url('./HumanSans-Bold.otf') format('opentype');\n}\n\n@font-face {\n font-family: 'HumanSans';\n font-weight: 900;\n font-style: normal;\n font-display: swap;\n src: url('./HumanSans-Black.otf') format('opentype');\n}\n\n@font-face {\n font-family: 'HumanSans';\n font-weight: 200;\n font-style: oblique;\n font-display: swap;\n src: url('./HumanSans-ExtraLightOblique.otf') format('opentype');\n}\n\n@font-face {\n font-family: 'HumanSans';\n font-weight: 300;\n font-style: oblique;\n font-display: swap;\n src: url('./HumanSans-LightOblique.otf') format('opentype');\n}\n\n@font-face {\n font-family: 'HumanSans';\n font-weight: 400;\n font-style: oblique;\n font-display: swap;\n src: url('./HumanSans-RegularOblique.otf') format('opentype');\n}\n\n@font-face {\n font-family: 'HumanSans';\n font-weight: 500;\n font-style: oblique;\n font-display: swap;\n src: url('./HumanSans-MediumOblique.otf') format('opentype');\n}\n\n@font-face {\n font-family: 'HumanSans';\n font-weight: 700;\n font-style: oblique;\n font-display: swap;\n src: url('./HumanSans-BoldOblique.otf') format('opentype');\n}\n\n"],"mappings":";AAAA;AACE,eAAa;AACb,eAAa;AACb,cAAY;AACZ,gBAAc;AACd,OAAK,2CAAkC,OAAO;AAChD;AAEA;AACE,eAAa;AACb,eAAa;AACb,cAAY;AACZ,gBAAc;AACd,OAAK,sCAA6B,OAAO;AAC3C;AAEA;AACE,eAAa;AACb,eAAa;AACb,cAAY;AACZ,gBAAc;AACd,OAAK,wCAA+B,OAAO;AAC7C;AAEA;AACE,eAAa;AACb,eAAa;AACb,cAAY;AACZ,gBAAc;AACd,OAAK,uCAA8B,OAAO;AAC5C;AAEA;AACE,eAAa;AACb,eAAa;AACb,cAAY;AACZ,gBAAc;AACd,OAAK,qCAA4B,OAAO;AAC1C;AAEA;AACE,eAAa;AACb,eAAa;AACb,cAAY;AACZ,gBAAc;AACd,OAAK,sCAA6B,OAAO;AAC3C;AAEA;AACE,eAAa;AACb,eAAa;AACb,cAAY;AACZ,gBAAc;AACd,OAAK,kDAAyC,OAAO;AACvD;AAEA;AACE,eAAa;AACb,eAAa;AACb,cAAY;AACZ,gBAAc;AACd,OAAK,6CAAoC,OAAO;AAClD;AAEA;AACE,eAAa;AACb,eAAa;AACb,cAAY;AACZ,gBAAc;AACd,OAAK,+CAAsC,OAAO;AACpD;AAEA;AACE,eAAa;AACb,eAAa;AACb,cAAY;AACZ,gBAAc;AACd,OAAK,8CAAqC,OAAO;AACnD;AAEA;AACE,eAAa;AACb,eAAa;AACb,cAAY;AACZ,gBAAc;AACd,OAAK,4CAAmC,OAAO;AACjD;","names":[]}