create-obsidian-arrow 0.5.0 → 0.5.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-obsidian-arrow",
3
- "version": "0.5.0",
3
+ "version": "0.5.1",
4
4
  "description": "Scaffold an Obsidian-styled Arrow.js UI sandbox (pnpm create obsidian-arrow <dir>).",
5
5
  "type": "module",
6
6
  "bin": {
@@ -11,6 +11,7 @@ This file is the hub — everything else is linked from here:
11
11
  - [`docs/workflow.md`](docs/workflow.md) — fresh-machine → running workflow.
12
12
  - [`skills/`](skills/) — installable domain skills (`pnpm skills:install`):
13
13
  - `obsidian-arrow-sandbox` — running the sandbox, CSS scoping, porting basics.
14
+ - `obsidian-arrow-composition` — **run before designing any view area**: surveys codebase, shows file trees for confirmation, asks questions, checks DRY/primitive use, produces a locked hierarchy doc.
14
15
  - `obsidian-arrow-stories` — **component + story authoring workflow**: `defineStories` API, variants, children, status flag, DRY patterns, utilities.
15
16
  - `obsidian-arrow-css` — **CSS decision hierarchy**: Obsidian classes → oas-* utilities → custom CSS; token reference; specificity scoping; overrides via variables; auditing for excess CSS.
16
17
  - `arrow-js-obsidian-templates` — Arrow v1.0.6 template syntax + footguns.
@@ -92,6 +92,7 @@ skills under [`skills/`](skills/) — it's a skill marketplace. Scaffolds **don'
92
92
  vendor copies**; they pull from this published repo, so installs are always
93
93
  current.
94
94
 
95
+ - `obsidian-arrow-composition` — **run before designing any view area**: surveys codebase, shows proposed file trees, asks targeted questions, checks DRY and primitive use, produces a locked hierarchy doc for the migration agent to execute.
95
96
  - `obsidian-arrow-sandbox` — running and using this sandbox, CSS scoping, porting basics.
96
97
  - `obsidian-arrow-stories` — **component + story authoring workflow**: the complete `defineStories` API (variants, children, status flag, notes), DRY patterns, utility classes, story viewing, and how to structure sub-components.
97
98
  - `obsidian-arrow-css` — **CSS decision hierarchy**: Obsidian classes first, `oas-*` utilities second, custom CSS last; the live token reference (`/reference`), class catalog (`/reference/classes`), specificity scoping, overrides via CSS variables, and auditing components to minimize hand-written CSS.
@@ -44,6 +44,8 @@ READ FIRST
44
44
  - AGENTS.md (root) — operating guide + docs map (links everything below).
45
45
  - docs/workflow.md — fresh-machine → running workflow.
46
46
  - skills/*/SKILL.md — seven installable skills:
47
+ obsidian-arrow-composition design component hierarchy: surveys codebase, shows file trees,
48
+ asks questions, checks DRY/primitives, produces locked plan
47
49
  obsidian-arrow-sandbox running the sandbox, CSS scoping, porting basics
48
50
  obsidian-arrow-stories component + story authoring: defineStories API,
49
51
  variants, children, status, DRY patterns, utilities
@@ -52,7 +52,56 @@
52
52
  flex-shrink: 0;
53
53
  }
54
54
 
55
- /* ── Spacing (Obsidian 4-px step scale) ─────────────────────── */
55
+ /*
56
+ * Spacing — two Obsidian token families:
57
+ *
58
+ * 4-px scale oas-gap-N / oas-p-N / oas-px-N / oas-py-N / oas-mt-N / oas-mb-N
59
+ * N=1 → --size-4-1 (4px) N=2 → --size-4-2 (8px) N=3 → --size-4-3 (12px)
60
+ * N=4 → --size-4-4 (16px) N=5 → --size-4-5 (20px) N=6 → --size-4-6 (24px)
61
+ *
62
+ * 2-px sub-scale oas-gap-2-1 / oas-p-2-1 … (mirrors Obsidian token name)
63
+ * 2-1 → --size-2-1 (2px) 2-3 → --size-2-3 (6px)
64
+ */
65
+
66
+ /* 2-px sub-scale ── */
67
+ .oas-gap-2-1 {
68
+ gap: var(--size-2-1);
69
+ }
70
+ .oas-p-2-1 {
71
+ padding: var(--size-2-1);
72
+ }
73
+ .oas-px-2-1 {
74
+ padding-inline: var(--size-2-1);
75
+ }
76
+ .oas-py-2-1 {
77
+ padding-block: var(--size-2-1);
78
+ }
79
+ .oas-mt-2-1 {
80
+ margin-top: var(--size-2-1);
81
+ }
82
+ .oas-mb-2-1 {
83
+ margin-bottom: var(--size-2-1);
84
+ }
85
+ .oas-gap-2-3 {
86
+ gap: var(--size-2-3);
87
+ }
88
+ .oas-p-2-3 {
89
+ padding: var(--size-2-3);
90
+ }
91
+ .oas-px-2-3 {
92
+ padding-inline: var(--size-2-3);
93
+ }
94
+ .oas-py-2-3 {
95
+ padding-block: var(--size-2-3);
96
+ }
97
+ .oas-mt-2-3 {
98
+ margin-top: var(--size-2-3);
99
+ }
100
+ .oas-mb-2-3 {
101
+ margin-bottom: var(--size-2-3);
102
+ }
103
+
104
+ /* 4-px scale ── */
56
105
  .oas-gap-1 {
57
106
  gap: var(--size-4-1);
58
107
  }
@@ -65,6 +114,12 @@
65
114
  .oas-gap-4 {
66
115
  gap: var(--size-4-4);
67
116
  }
117
+ .oas-gap-5 {
118
+ gap: var(--size-4-5);
119
+ }
120
+ .oas-gap-6 {
121
+ gap: var(--size-4-6);
122
+ }
68
123
  .oas-p-1 {
69
124
  padding: var(--size-4-1);
70
125
  }
@@ -77,12 +132,27 @@
77
132
  .oas-p-4 {
78
133
  padding: var(--size-4-4);
79
134
  }
135
+ .oas-p-5 {
136
+ padding: var(--size-4-5);
137
+ }
138
+ .oas-p-6 {
139
+ padding: var(--size-4-6);
140
+ }
80
141
  .oas-px-2 {
81
142
  padding-inline: var(--size-4-2);
82
143
  }
83
144
  .oas-px-3 {
84
145
  padding-inline: var(--size-4-3);
85
146
  }
147
+ .oas-px-4 {
148
+ padding-inline: var(--size-4-4);
149
+ }
150
+ .oas-px-5 {
151
+ padding-inline: var(--size-4-5);
152
+ }
153
+ .oas-px-6 {
154
+ padding-inline: var(--size-4-6);
155
+ }
86
156
  .oas-py-1 {
87
157
  padding-block: var(--size-4-1);
88
158
  }
@@ -92,6 +162,15 @@
92
162
  .oas-py-3 {
93
163
  padding-block: var(--size-4-3);
94
164
  }
165
+ .oas-py-4 {
166
+ padding-block: var(--size-4-4);
167
+ }
168
+ .oas-py-5 {
169
+ padding-block: var(--size-4-5);
170
+ }
171
+ .oas-py-6 {
172
+ padding-block: var(--size-4-6);
173
+ }
95
174
  .oas-mt-1 {
96
175
  margin-top: var(--size-4-1);
97
176
  }
@@ -101,6 +180,15 @@
101
180
  .oas-mt-3 {
102
181
  margin-top: var(--size-4-3);
103
182
  }
183
+ .oas-mt-4 {
184
+ margin-top: var(--size-4-4);
185
+ }
186
+ .oas-mt-5 {
187
+ margin-top: var(--size-4-5);
188
+ }
189
+ .oas-mt-6 {
190
+ margin-top: var(--size-4-6);
191
+ }
104
192
  .oas-mb-1 {
105
193
  margin-bottom: var(--size-4-1);
106
194
  }
@@ -110,6 +198,15 @@
110
198
  .oas-mb-3 {
111
199
  margin-bottom: var(--size-4-3);
112
200
  }
201
+ .oas-mb-4 {
202
+ margin-bottom: var(--size-4-4);
203
+ }
204
+ .oas-mb-5 {
205
+ margin-bottom: var(--size-4-5);
206
+ }
207
+ .oas-mb-6 {
208
+ margin-bottom: var(--size-4-6);
209
+ }
113
210
  .oas-ml-auto {
114
211
  margin-left: auto;
115
212
  }
@@ -195,6 +292,9 @@
195
292
  .oas-rounded-m {
196
293
  border-radius: var(--radius-m);
197
294
  }
295
+ .oas-rounded-l {
296
+ border-radius: var(--radius-l);
297
+ }
198
298
 
199
299
  /* ── Interaction ─────────────────────────────────────────────── */
200
300
  .oas-cursor-pointer {