@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/.specify/memory/agent-factory.md +44 -0
- package/.specify/memory/architecture.md +143 -0
- package/.specify/memory/component-architecture.md +73 -0
- package/.specify/memory/components-reference.md +1353 -0
- package/.specify/memory/constitution.md +295 -0
- package/.specify/memory/design-tokens.md +139 -0
- package/.specify/memory/package-usage-guide.md +99 -0
- package/.specify/memory/toolkits.md +57 -0
- package/.specify/memory/workflow.md +87 -0
- package/README.md +197 -3
- package/dist/HumanSans-Black-C4YJONK7.otf +0 -0
- package/dist/HumanSans-Bold-4EAJ3L3T.otf +0 -0
- package/dist/HumanSans-BoldOblique-4D325T4F.otf +0 -0
- package/dist/HumanSans-ExtraLight-VL7DEKQ4.otf +0 -0
- package/dist/HumanSans-ExtraLightOblique-VK2JTUXF.otf +0 -0
- package/dist/HumanSans-Light-YV7AFKRB.otf +0 -0
- package/dist/HumanSans-LightOblique-VIXV7QA6.otf +0 -0
- package/dist/HumanSans-Medium-UULJ3PIR.otf +0 -0
- package/dist/HumanSans-MediumOblique-M7FHDZRS.otf +0 -0
- package/dist/HumanSans-Regular-QMFEP3F6.otf +0 -0
- package/dist/HumanSans-RegularOblique-YPKQJAAM.otf +0 -0
- package/dist/index.css +79 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.mts +242 -94
- package/dist/index.d.ts +242 -94
- package/dist/index.js +3158 -553
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3020 -456
- package/dist/index.mjs.map +1 -1
- package/package.json +20 -4
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
|
|
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
|
|
228
|
-
import { Button, Dialog, Sidebar } from '@cere
|
|
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
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
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":[]}
|