Skip to content

Commit 1e017ff

Browse files
committed
chore: update
1 parent d08d1e5 commit 1e017ff

2 files changed

Lines changed: 26 additions & 40 deletions

File tree

docs/app/components/global/GettingStartedWizard.vue

Lines changed: 25 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,16 @@ interface DocEntry {
3333
const STORAGE_KEY = 'devframe-docs:getting-started'
3434
3535
const sections: WizardSection[] = [
36+
{
37+
key: 'environments',
38+
title: 'Target environments',
39+
hint: 'What do you expect your tool to work with?',
40+
items: [
41+
{ value: 'standalone', label: 'Standalone', icon: 'i-lucide-terminal', description: 'A CLI or dev server with no host framework' },
42+
{ value: 'framework', label: 'Specific framework', icon: 'i-lucide-shapes', description: 'Specifically for frameworks like Vite, Next.js, Nuxt, etc.' },
43+
{ value: 'all', label: 'All frameworks', icon: 'i-lucide-infinity', description: 'I want to support as many frameworks as possible' },
44+
],
45+
},
3646
{
3747
key: 'dataSource',
3848
title: 'Data source',
@@ -42,27 +52,15 @@ const sections: WizardSection[] = [
4252
{ value: 'browser', label: 'The user\'s web app', icon: 'i-lucide-app-window', description: 'State living in the page you\'re developing' },
4353
],
4454
},
45-
{
46-
key: 'environments',
47-
title: 'Target environments',
48-
hint: 'What do you expect your tool to work with?',
49-
items: [
50-
{ value: 'standalone', label: 'Standalone', icon: 'i-lucide-terminal', description: 'A CLI or dev server with no host framework' },
51-
{ value: 'vite', label: 'Vite', icon: 'i-simple-icons-vite' },
52-
{ value: 'next', label: 'Next.js', icon: 'i-simple-icons-nextdotjs' },
53-
{ value: 'framework', label: 'A specific framework', icon: 'i-lucide-puzzle', description: 'Nuxt, or a host framework the kits don\'t cover yet' },
54-
{ value: 'all', label: 'All frameworks', icon: 'i-lucide-infinity', description: 'Anything that speaks a Web Standard Request/Response' },
55-
],
56-
},
5755
{
5856
key: 'availability',
5957
title: 'Data availability',
6058
hint: 'When is the data available?',
6159
items: [
6260
{ value: 'dev', label: 'Development time', icon: 'i-lucide-code', description: 'Live, over a running dev server' },
63-
{ value: 'build', label: 'Production build time', icon: 'i-lucide-hammer' },
64-
{ value: 'static', label: 'Statically available', icon: 'i-lucide-hard-drive', description: 'Local filesystem, a static dump, etc.' },
65-
{ value: 'remote', label: 'Remotely', icon: 'i-lucide-cloud', description: 'Over the web, not on localhost' },
61+
{ value: 'build', label: 'Production build time', icon: 'i-lucide-hammer', description: 'Data from the production build' },
62+
{ value: 'static', label: 'Statically available', icon: 'i-lucide-hard-drive', description: 'Local filesystem, uploaded files, etc.' },
63+
{ value: 'remote', label: 'Remotely', icon: 'i-lucide-cloud', description: 'Over the web' },
6664
],
6765
},
6866
{
@@ -71,29 +69,20 @@ const sections: WizardSection[] = [
7169
hint: 'How do you want to build the frontend view?',
7270
items: [
7371
{ value: 'framework', label: 'A preferred framework', icon: 'i-lucide-component', description: 'Vue, React, Svelte, Solid...' },
74-
{ value: 'webcomponents', label: 'Web Components', icon: 'i-lucide-box' },
72+
{ value: 'webcomponents', label: 'Web Components', icon: 'i-lucide-box', description: 'Use Web Components for renderering' },
7573
{ value: 'nodeside', label: 'Build it on the node side', icon: 'i-lucide-braces', description: 'Describe the UI as data instead of shipping a bundle' },
7674
],
7775
},
78-
{
79-
key: 'agent',
80-
title: 'Agent support',
81-
hint: 'Should it also work with a coding agent?',
82-
items: [
83-
{ value: 'agent', label: 'Yes, expose it to a coding agent', icon: 'i-lucide-bot', description: 'Same RPC functions, resources, and state, over MCP' },
84-
],
85-
},
8676
{
8777
key: 'requirements',
8878
title: 'Other requirements',
8979
hint: 'Any specific requirements?',
9080
items: [
91-
{ value: 'streaming', label: 'Streaming data', icon: 'i-lucide-radio' },
92-
{ value: 'overlay', label: 'An overlay on the user\'s web app', icon: 'i-lucide-layers' },
93-
{ value: 'hub', label: 'Composing with other devtools', icon: 'i-lucide-layout-dashboard', description: 'One UI, many devframes' },
94-
{ value: 'security', label: 'Authentication', icon: 'i-lucide-shield-check' },
81+
{ value: 'agent', label: 'Exposed to coding agents', icon: 'i-lucide-bot', description: 'Some functionality should be available to coding agents.' },
82+
{ value: 'terminal', label: 'Sub process access', icon: 'i-lucide-square-terminal', description: 'Need to spawn other child process from the node side' },
83+
{ value: 'streaming', label: 'Streaming data', icon: 'i-lucide-radio', description: 'Push chunk-style data from the node side to the browser side' },
9584
{ value: 'deep-linking', label: 'Deep linking', icon: 'i-lucide-link', description: 'Shareable URLs into a specific view' },
96-
{ value: 'terminal', label: 'Terminal / process access', icon: 'i-lucide-square-terminal' },
85+
{ value: 'overlay', label: 'User app overlay', icon: 'i-lucide-layers', description: 'I want to overlay a UI on top of the user\'s web app' },
9786
],
9887
},
9988
]
@@ -242,7 +231,7 @@ function reset(): void {
242231
What kind of devtool do you want to build?
243232
</p>
244233
<p class="text-sm text-muted mt-0.5">
245-
Check whatever applies — answers save in your browser.
234+
Multi-select, check whatever applies (selection persists in localStorage)
246235
</p>
247236
</div>
248237
<UButton
@@ -264,14 +253,15 @@ function reset(): void {
264253
>
265254
<div class="flex flex-wrap items-baseline gap-x-2 mb-3">
266255
<p class="font-medium text-highlighted">
267-
{{ section.title }}
268-
</p>
269-
<p class="text-sm text-muted">
270256
{{ section.hint }}
271257
</p>
258+
<p class="text-xs text-muted uppercase tracking-widest">
259+
{{ section.title }}
260+
</p>
272261
</div>
273262

274263
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-2.5">
264+
<!-- Add colors for different items -->
275265
<button
276266
v-for="item in section.items"
277267
:key="item.value"
@@ -280,7 +270,7 @@ function reset(): void {
280270
:aria-checked="isChecked(section.key, item.value)"
281271
class="relative flex items-center gap-3 rounded-lg border p-3 text-left transition-colors cursor-pointer"
282272
:class="isChecked(section.key, item.value)
283-
? 'border-primary bg-primary/5 ring-1 ring-primary/30'
273+
? 'border-primary/80 bg-primary/10 ring-1 ring-primary/20'
284274
: 'border-default hover:border-accented hover:bg-elevated/50'"
285275
@click="toggle(section.key, item.value)"
286276
>
@@ -297,11 +287,6 @@ function reset(): void {
297287
class="block text-xs text-muted mt-0.5"
298288
>{{ item.description }}</span>
299289
</span>
300-
<UIcon
301-
v-if="isChecked(section.key, item.value)"
302-
name="i-lucide-circle-check"
303-
class="size-4 shrink-0 text-primary"
304-
/>
305290
</button>
306291
</div>
307292
</div>
@@ -310,6 +295,7 @@ function reset(): void {
310295
<p class="font-medium text-highlighted mb-2">
311296
{{ hasSelections ? 'Recommended docs, based on your answers' : 'Start here' }}
312297
</p>
298+
<!-- TODO: use inline elements, instead UPage -->
313299
<UPageList divide>
314300
<UPageCard
315301
v-for="doc in recommendedDocs"

docs/content/1.guide/0.getting-started.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: 'Getting Started'
33
description: 'Answer a few questions about the devtool you want to build and get a reading list tailored to it.'
44
---
55

6-
Every devframe capability lives in its own guide page, so it helps to know which ones apply to what you're building before diving in. Check whatever describes your devtool below, and the list at the bottom updates with the docs worth reading first — your answers are saved in your browser, so you can come back to this page later.
6+
Devframe provides a lot of features to build DevTools with various needs. It could be overwhelming to start with. Here we have the wizard to help you get started. Answer a few questions about the devtool you want to build and get a reading list tailored to it.
77

88
::getting-started-wizard
99
::

0 commit comments

Comments
 (0)