@matteoaliano/forest-ui 0.5.2 → 0.7.0

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/dist/theme.mjs CHANGED
@@ -45,7 +45,7 @@ import {
45
45
  violet,
46
46
  warning,
47
47
  widths
48
- } from "./chunk-TECEHFAG.mjs";
48
+ } from "./chunk-WUUQHE5X.mjs";
49
49
  export {
50
50
  alpha,
51
51
  avatarColors,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matteoaliano/forest-ui",
3
- "version": "0.5.2",
3
+ "version": "0.7.0",
4
4
  "description": "Forest Design System — themed MUI components",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -83,5 +83,14 @@
83
83
  "typescript": "^5.0.0"
84
84
  },
85
85
  "license": "MIT",
86
- "sideEffects": false
86
+ "sideEffects": false,
87
+ "repository": {
88
+ "type": "git",
89
+ "url": "git+https://github.com/Witailer/wtl-design-system-forest.git",
90
+ "directory": "packages/forest-ui"
91
+ },
92
+ "bugs": {
93
+ "url": "https://github.com/Witailer/wtl-design-system-forest/issues"
94
+ },
95
+ "homepage": "https://github.com/Witailer/wtl-design-system-forest#readme"
87
96
  }
@@ -3,7 +3,7 @@ name: forest-alkemy-plus
3
3
  description: Forest UI Design System rules for the Alkemy+ (charcoal/red) preset. Enforces correct imports, component usage, and theming with @matteoaliano/forest-ui. Use when the project uses forest-ui, forest-alkemy-plus preset, or when user builds UI components in a forest-ui project. Triggers on "forest", "forest-ui", "forest alkemy", "forest alkemy+", "@matteoaliano/forest-ui".
4
4
  metadata:
5
5
  author: Forest Design System
6
- version: 0.5.2
6
+ version: 0.7.0
7
7
  ---
8
8
 
9
9
  # Forest UI — Alkemy+ Preset
@@ -75,7 +75,7 @@ import "@matteoaliano/forest-ui/fonts/alkemy-beta/alkemy-beta.css";
75
75
 
76
76
  **Charts:** BarChart, LineChart, PieChart, ScatterChart, Gauge, SparkLineChart, useChartColors, plus composition primitives (see components.md)
77
77
 
78
- See `references/components.md` for full API details and `references/patterns.md` for code examples.
78
+ See `references/components.md` for full API details, `references/patterns.md` for code examples, and `references/upgrading.md` for update / re-sync guidance.
79
79
 
80
80
  ## Tooltip vs Popover
81
81
 
@@ -0,0 +1,137 @@
1
+ # Forest UI — Upgrading
2
+
3
+ How to keep `@matteoaliano/forest-ui` and its peer dependencies up to date.
4
+
5
+ ## TL;DR
6
+
7
+ ```bash
8
+ npm update @matteoaliano/forest-ui # bump within the semver range
9
+ npx @matteoaliano/forest-ui # re-sync the Claude Code skill
10
+ ```
11
+
12
+ That's it for routine minor/patch updates. For majors, read the changelog first.
13
+
14
+ ## Check the installed version
15
+
16
+ ```bash
17
+ npm list @matteoaliano/forest-ui
18
+ # → @matteoaliano/forest-ui@0.6.0
19
+ ```
20
+
21
+ Or read it directly from `package.json`.
22
+
23
+ ## See available versions
24
+
25
+ ```bash
26
+ npm view @matteoaliano/forest-ui versions --json | tail
27
+ npm view @matteoaliano/forest-ui version # latest
28
+ ```
29
+
30
+ ## Upgrade within the current semver range (minor / patch)
31
+
32
+ ```bash
33
+ npm update @matteoaliano/forest-ui
34
+ # pnpm update @matteoaliano/forest-ui
35
+ # yarn upgrade @matteoaliano/forest-ui
36
+ ```
37
+
38
+ This respects the `^` or `~` range in `package.json` and will **not** cross a major boundary.
39
+
40
+ ## Upgrade across a major (e.g. 0.x → 1.0)
41
+
42
+ ```bash
43
+ npm install @matteoaliano/forest-ui@latest
44
+ ```
45
+
46
+ **Before running**, check the changelog for:
47
+
48
+ - Removed / renamed components
49
+ - Prop name changes
50
+ - Changed default variants (e.g. Button defaults)
51
+ - Theme token renames
52
+ - Peer-dependency bumps (MUI, Emotion)
53
+
54
+ Commit your lockfile before upgrading so a rollback is one `git checkout` away.
55
+
56
+ ## Re-sync the Claude Code skill
57
+
58
+ The skill ships **inside** the package and evolves with it. After every upgrade:
59
+
60
+ ```bash
61
+ npx @matteoaliano/forest-ui
62
+ ```
63
+
64
+ This refreshes `.claude/skills/forest-alkemy-plus/` with the latest component list, prop signatures, and patterns. **Skipping this step means Claude is working from stale rules** — it may recommend components that no longer exist or miss new ones.
65
+
66
+ Automate it by wiring `postinstall`:
67
+
68
+ ```json
69
+ {
70
+ "scripts": {
71
+ "postinstall": "forest-ui"
72
+ }
73
+ }
74
+ ```
75
+
76
+ Commit `.claude/skills/` so every teammate (and CI) gets the same snapshot.
77
+
78
+ ## Peer dependencies
79
+
80
+ Forest UI has multiple peer deps — keep them aligned with the major the package was built against:
81
+
82
+ ```bash
83
+ npm install @matteoaliano/forest-ui@latest \
84
+ @mui/material @mui/x-data-grid @mui/x-date-pickers @mui/x-charts \
85
+ @emotion/react @emotion/styled dayjs
86
+ ```
87
+
88
+ If you see `UNMET PEER DEPENDENCY` warnings after an upgrade, the package expects a newer MUI / Emotion — bump them together, not individually. Running two different MUI majors in the same app breaks theming silently.
89
+
90
+ Check what's required:
91
+
92
+ ```bash
93
+ npm view @matteoaliano/forest-ui peerDependencies
94
+ ```
95
+
96
+ ## Verify the upgrade
97
+
98
+ Quick checklist after bumping:
99
+
100
+ - [ ] App builds (`npm run build` / `next build`)
101
+ - [ ] No TypeScript errors on component props you use
102
+ - [ ] No runtime console errors about missing theme tokens
103
+ - [ ] `<ForestProvider>` still wraps the app root
104
+ - [ ] Fonts still render (Aeonik / Aeonik Mono / Alkemy BETA)
105
+ - [ ] Visual spot-check on one page per preset in use
106
+ - [ ] `.claude/skills/forest-alkemy-plus/SKILL.md` `version` frontmatter matches the new package version
107
+
108
+ ## Rollback
109
+
110
+ If something breaks and you need to revert:
111
+
112
+ ```bash
113
+ git checkout -- package.json package-lock.json
114
+ npm install
115
+ npx @matteoaliano/forest-ui # re-sync to restore older skill
116
+ ```
117
+
118
+ Or pin to a known-good version explicitly:
119
+
120
+ ```bash
121
+ npm install @matteoaliano/forest-ui@0.5.2
122
+ ```
123
+
124
+ ## When a breaking change affects your code
125
+
126
+ 1. **Read the error at face value.** MUI-layer errors usually point to the renamed prop or component.
127
+ 2. **Search the synced skill's `components.md`** — it's the authoritative component list for the installed version.
128
+ 3. **Don't shim.** Don't wrap deprecated components in custom adapters; update callsites directly. Shims accumulate and block the next upgrade.
129
+ 4. **If a component was removed**, the skill's `components.md` won't list it anymore — search the forest-ui CHANGELOG or the repo's Storybook for the replacement.
130
+
131
+ ## Never do this on upgrade
132
+
133
+ - Don't skip `npx @matteoaliano/forest-ui` — stale skills are worse than no skills
134
+ - Don't upgrade MUI separately from forest-ui — they're paired
135
+ - Don't mix two forest-ui majors in a monorepo without a shared hoist
136
+ - Don't suppress peer-dep warnings — they're the early signal for theme breakage
137
+ - Don't commit `package.json` without `package-lock.json` — reproducibility breaks