lokuma-cli 1.2.3 → 1.2.5
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/index.js +132 -19
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -84,50 +84,163 @@ function resolvePath(p) {
|
|
|
84
84
|
function buildSkillMd(scriptPath) {
|
|
85
85
|
return `---
|
|
86
86
|
name: lokuma
|
|
87
|
-
description:
|
|
87
|
+
description: >
|
|
88
|
+
Lokuma design intelligence. Query this skill whenever building or modifying
|
|
89
|
+
UI \u2014 landing pages, dashboards, SaaS products, mobile apps, e-commerce,
|
|
90
|
+
portfolios, admin panels. Provides: UI style recommendations, color palettes,
|
|
91
|
+
typography pairings, chart types, UX best practices, layout patterns.
|
|
92
|
+
Trigger keywords: build, design, create, implement, landing page, dashboard,
|
|
93
|
+
UI, UX, component, layout, color, font, style, theme, dark mode, responsive,
|
|
94
|
+
animation, accessibility.
|
|
88
95
|
---
|
|
89
96
|
|
|
90
|
-
# Lokuma
|
|
97
|
+
# Lokuma \u2014 Design Intelligence Skill
|
|
98
|
+
|
|
99
|
+
## When to Use This Skill
|
|
100
|
+
|
|
101
|
+
**Always invoke before writing UI code** for:
|
|
102
|
+
- New pages or screens (landing, dashboard, onboarding, settings, checkout)
|
|
103
|
+
- New UI components (cards, modals, forms, charts, navigation, hero sections)
|
|
104
|
+
- Style/color/typography decisions ("what color scheme fits a fintech app?")
|
|
105
|
+
- UX reviews ("is this layout accessible?", "why does this feel off?")
|
|
106
|
+
- Dark mode, responsive layout, animation decisions
|
|
107
|
+
|
|
108
|
+
**Skip for**: pure backend logic, API design, database work, DevOps.
|
|
109
|
+
|
|
110
|
+
> Rule of thumb: if the task changes how something **looks, feels, moves, or is interacted with** \u2014 use this skill.
|
|
111
|
+
|
|
112
|
+
---
|
|
91
113
|
|
|
92
114
|
## Setup
|
|
93
115
|
|
|
94
|
-
Set your API key (required):
|
|
95
116
|
\`\`\`bash
|
|
96
117
|
export LOKUMA_API_KEY=lokuma_your_key_here
|
|
97
118
|
\`\`\`
|
|
98
119
|
|
|
99
|
-
Get your
|
|
120
|
+
Get your key at **https://lokuma.ai**
|
|
100
121
|
|
|
101
|
-
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Workflow (follow this order)
|
|
125
|
+
|
|
126
|
+
### Step 1 \u2014 Generate Design System (always start here)
|
|
127
|
+
|
|
128
|
+
Run this first for any new project, page, or major component:
|
|
102
129
|
|
|
103
|
-
### Generate Design System (start here)
|
|
104
130
|
\`\`\`bash
|
|
105
|
-
python3 ${scriptPath} "<product
|
|
131
|
+
python3 ${scriptPath} "<product type> <industry> <style keywords>" --design-system [-p "Project Name"]
|
|
106
132
|
\`\`\`
|
|
107
133
|
|
|
108
|
-
|
|
134
|
+
**Query strategy \u2014 be specific and multi-dimensional:**
|
|
135
|
+
- \u2705 \`"beauty spa wellness booking service"\`
|
|
136
|
+
- \u2705 \`"fintech crypto dashboard dark professional"\`
|
|
137
|
+
- \u2705 \`"SaaS productivity tool minimal clean"\`
|
|
138
|
+
- \u274C \`"app"\` or \`"website"\` (too vague)
|
|
139
|
+
|
|
140
|
+
Output includes: page pattern, UI style, color palette, typography, key effects, anti-patterns.
|
|
141
|
+
|
|
142
|
+
### Step 2 \u2014 Domain search (for specific decisions)
|
|
143
|
+
|
|
144
|
+
After the design system, use targeted domain searches for deeper detail:
|
|
145
|
+
|
|
109
146
|
\`\`\`bash
|
|
110
|
-
python3 ${scriptPath} "
|
|
147
|
+
python3 ${scriptPath} "<keywords>" --domain <domain> [-n <count>]
|
|
111
148
|
\`\`\`
|
|
112
149
|
|
|
113
|
-
|
|
150
|
+
| Domain | When to use | Example query |
|
|
151
|
+
|--------|-------------|---------------|
|
|
152
|
+
| \`style\` | Choosing visual style, CSS effects | \`"glassmorphism dark dashboard"\` |
|
|
153
|
+
| \`color\` | Color palette, brand colors | \`"fintech trust blue professional"\` |
|
|
154
|
+
| \`typography\` | Font pairing, heading/body combo | \`"elegant modern serif display"\` |
|
|
155
|
+
| \`chart\` | Data visualization type selection | \`"real-time comparison time-series"\` |
|
|
156
|
+
| \`landing\` | Page structure, CTA strategy | \`"hero social-proof conversion"\` |
|
|
157
|
+
| \`product\` | Industry-specific patterns | \`"e-commerce fashion luxury"\` |
|
|
158
|
+
| \`ux\` | Best practices, anti-patterns | \`"form validation animation loading"\` |
|
|
159
|
+
| \`icons\` | Icon library recommendations | \`"outline minimal consistent"\` |
|
|
160
|
+
| \`react\` | React/Next.js performance patterns | \`"virtualize memo bundle lazy"\` |
|
|
161
|
+
| \`web\` | Accessibility, responsive, web perf | \`"contrast keyboard aria mobile"\` |
|
|
162
|
+
| \`google-fonts\` | Font discovery by style | \`"geometric sans modern clean"\` |
|
|
163
|
+
|
|
164
|
+
### Step 3 \u2014 Stack guidelines (implementation best practices)
|
|
165
|
+
|
|
114
166
|
\`\`\`bash
|
|
115
|
-
python3 ${scriptPath} "<
|
|
167
|
+
python3 ${scriptPath} "<keywords>" --stack react-native
|
|
116
168
|
\`\`\`
|
|
117
169
|
|
|
118
|
-
|
|
170
|
+
Use for: navigation patterns, list performance, gesture conflicts, safe areas.
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## Query Writing Guide
|
|
175
|
+
|
|
176
|
+
The search is keyword-based. **Better queries = better results.**
|
|
177
|
+
|
|
178
|
+
| Situation | Good query | Poor query |
|
|
179
|
+
|-----------|-----------|------------|
|
|
180
|
+
| Wellness app | \`"spa wellness organic natural calm"\` | \`"health app"\` |
|
|
181
|
+
| Finance tool | \`"fintech banking trust dark minimal"\` | \`"finance"\` |
|
|
182
|
+
| Creative portfolio | \`"portfolio creative bold editorial brutalism"\` | \`"portfolio site"\` |
|
|
183
|
+
| Kids app | \`"children playful colorful rounded friendly"\` | \`"kid app"\` |
|
|
184
|
+
| Data dashboard | \`"analytics dashboard dark data-dense professional"\` | \`"dashboard"\` |
|
|
185
|
+
|
|
186
|
+
**Tips:**
|
|
187
|
+
- Combine: **product type + industry + tone + density + audience**
|
|
188
|
+
- Use style vocabulary: \`minimal, vibrant, editorial, organic, corporate, playful, dark, light, glassmorphism, neumorphism, brutalism, bento\`
|
|
189
|
+
- Use UX vocabulary: \`conversion, trust, engagement, immersive, content-first, task-focused\`
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## Examples
|
|
194
|
+
|
|
195
|
+
\`\`\`bash
|
|
196
|
+
# Full design system for a SaaS landing page
|
|
197
|
+
python3 ${scriptPath} "SaaS productivity tool minimal clean" --design-system -p "TaskFlow"
|
|
198
|
+
|
|
199
|
+
# Color palette for a healthcare app
|
|
200
|
+
python3 ${scriptPath} "healthcare medical trust calm" --domain color
|
|
201
|
+
|
|
202
|
+
# Typography for an editorial blog
|
|
203
|
+
python3 ${scriptPath} "editorial magazine bold serif" --domain typography
|
|
204
|
+
|
|
205
|
+
# UX review for a checkout flow
|
|
206
|
+
python3 ${scriptPath} "checkout form validation error states" --domain ux
|
|
207
|
+
|
|
208
|
+
# Chart selection for an analytics dashboard
|
|
209
|
+
python3 ${scriptPath} "time-series comparison trend realtime" --domain chart
|
|
210
|
+
|
|
211
|
+
# React Native navigation best practices
|
|
212
|
+
python3 ${scriptPath} "navigation stack gesture performance" --stack react-native
|
|
213
|
+
\`\`\`
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## Output Formats
|
|
119
218
|
|
|
120
|
-
### Stack Guidelines
|
|
121
219
|
\`\`\`bash
|
|
122
|
-
|
|
220
|
+
# ASCII (default, terminal-friendly)
|
|
221
|
+
python3 ${scriptPath} "fintech crypto" --design-system
|
|
222
|
+
|
|
223
|
+
# Markdown (for docs/comments)
|
|
224
|
+
python3 ${scriptPath} "fintech crypto" --design-system -f markdown
|
|
225
|
+
|
|
226
|
+
# JSON (for programmatic use)
|
|
227
|
+
python3 ${scriptPath} "fintech crypto" --design-system -f json
|
|
123
228
|
\`\`\`
|
|
124
229
|
|
|
125
|
-
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## Pre-delivery Checklist
|
|
233
|
+
|
|
234
|
+
Before shipping UI code, verify:
|
|
126
235
|
|
|
127
|
-
1
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
236
|
+
- [ ] Contrast \u2265 4.5:1 for body text, \u2265 3:1 for large text (both light & dark mode)
|
|
237
|
+
- [ ] Touch targets \u2265 44\xD744px (mobile) with adequate spacing
|
|
238
|
+
- [ ] No emoji as icons \u2014 use SVG icon libraries
|
|
239
|
+
- [ ] Loading states and error states implemented
|
|
240
|
+
- [ ] Mobile-first layout tested at 375px width
|
|
241
|
+
- [ ] Safe areas respected (notch, home indicator, tab bar)
|
|
242
|
+
- [ ] Focus styles visible for keyboard navigation
|
|
243
|
+
- [ ] Reduced-motion respected for animations
|
|
131
244
|
`;
|
|
132
245
|
}
|
|
133
246
|
async function exists(path) {
|