@micropage-sh/cli 2.0.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/README.md +183 -0
- package/bin/micropage.js +3 -0
- package/package.json +65 -0
- package/src/api.js +51 -0
- package/src/auth.js +123 -0
- package/src/commands/builds.js +496 -0
- package/src/commands/files.js +225 -0
- package/src/commands/forms.js +71 -0
- package/src/commands/links.js +107 -0
- package/src/commands/login.js +255 -0
- package/src/commands/logout.js +16 -0
- package/src/commands/projects.js +573 -0
- package/src/commands/publish.js +10 -0
- package/src/commands/submissions.js +194 -0
- package/src/commands/whoami.js +87 -0
- package/src/config.js +22 -0
- package/src/index.js +243 -0
- package/src/mime.js +18 -0
- package/src/parser.js +72 -0
- package/src/project-ref.js +54 -0
- package/src/supabase.js +637 -0
- package/src/utils.js +47 -0
- package/templates/PROJECT_AGENT.template.md +31 -0
- package/templates/assets/favicon.svg +8 -0
- package/templates/assets/logo.svg +14 -0
- package/templates/examples/components-colors.page +84 -0
- package/templates/examples/components-hero-variants.page +28 -0
- package/templates/examples/components-pricing-and-forms.page +45 -0
- package/templates/examples/mobile-app-landing.page +77 -0
- package/templates/examples/portfolio.page +75 -0
- package/templates/examples/startup-landing.page +100 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Project agent guide (Micropage CLI)
|
|
2
|
+
|
|
3
|
+
This project was created with the Micropage CLI and is designed to be friendly to local AI agents and automation.
|
|
4
|
+
|
|
5
|
+
## Key files and layout
|
|
6
|
+
|
|
7
|
+
- `landing.page` — primary page file. Treat this as the canonical entrypoint for the site.
|
|
8
|
+
- `*.page` — additional page files. They are merged in alphabetical order after `landing.page` when pushing.
|
|
9
|
+
- `examples/` — curated examples showing different layouts and components:
|
|
10
|
+
- `startup-landing.page` — SaaS / product launch landing page with hero, feature grid, pricing, contact form, and an `img: <- product-dashboard` keyword image.
|
|
11
|
+
- `portfolio.page` — minimal portfolio layout for designers/developers; good reference for text-heavy sections and project lists.
|
|
12
|
+
- `mobile-app-landing.page` — mobile app landing template (PocketTrack) with app-style hero, feature bullets, and platform download buttons.
|
|
13
|
+
- `components-hero-variants.page` — multiple hero section variants (single CTA, image + copy, centered hero).
|
|
14
|
+
- `components-pricing-and-forms.page` — pricing table (three tiers) and a richer contact/quote form, including an `img: <- pricing-cards` example.
|
|
15
|
+
- `assets/logo.svg` and `assets/favicon.svg` — default logo and favicon for new projects (uploaded on push). `.page` files reference the stored filename: `logo: <- logo.svg` / `favicon: <- favicon.svg`.
|
|
16
|
+
|
|
17
|
+
## How to propose edits safely
|
|
18
|
+
|
|
19
|
+
- Prefer editing existing `.page` files instead of introducing new formats.
|
|
20
|
+
- Keep the Micropage DSL valid — follow the patterns used in the `examples/` folder.
|
|
21
|
+
- When creating alternative versions of a section, consider:
|
|
22
|
+
- Copying the original block into `examples/` and annotating it there.
|
|
23
|
+
- Proposing a diff-style change rather than rewriting entire files.
|
|
24
|
+
|
|
25
|
+
## Reference documentation
|
|
26
|
+
|
|
27
|
+
For full documentation of the Micropage format and features, see:
|
|
28
|
+
|
|
29
|
+
- `https://docs.micropage.sh`
|
|
30
|
+
|
|
31
|
+
You can use the examples in this project as concrete references when generating or modifying `.page` content.*** End Patch***}"/>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" role="img" aria-labelledby="title desc">
|
|
2
|
+
<title>Micropage favicon</title>
|
|
3
|
+
<desc>Minimal stacked bar favicon for starter projects</desc>
|
|
4
|
+
<rect x="4" y="7" width="24" height="4" rx="2" fill="#4f46e5"/>
|
|
5
|
+
<rect x="6" y="14" width="20" height="4" rx="2" fill="#0ea5e9"/>
|
|
6
|
+
<rect x="8" y="21" width="16" height="4" rx="2" fill="#22c55e"/>
|
|
7
|
+
</svg>
|
|
8
|
+
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-labelledby="title desc">
|
|
2
|
+
<title>Micropage starter logo</title>
|
|
3
|
+
<desc>Abstract stacked rectangles suggesting pages</desc>
|
|
4
|
+
<defs>
|
|
5
|
+
<linearGradient id="g" x1="0%" y1="0%" x2="100%" y2="100%">
|
|
6
|
+
<stop offset="0%" stop-color="#4f46e5"/>
|
|
7
|
+
<stop offset="100%" stop-color="#06b6d4"/>
|
|
8
|
+
</linearGradient>
|
|
9
|
+
</defs>
|
|
10
|
+
<rect x="10" y="14" width="44" height="12" rx="3" fill="url(#g)"/>
|
|
11
|
+
<rect x="14" y="28" width="36" height="10" rx="3" fill="#111827" opacity="0.9"/>
|
|
12
|
+
<rect x="18" y="40" width="28" height="8" rx="3" fill="#111827" opacity="0.7"/>
|
|
13
|
+
</svg>
|
|
14
|
+
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
[site]
|
|
2
|
+
title: Color System Examples
|
|
3
|
+
description: Reference for bg:, align:, and text: section modifiers
|
|
4
|
+
colors:
|
|
5
|
+
primary: #5c6fff
|
|
6
|
+
|
|
7
|
+
[site.dark]
|
|
8
|
+
colors:
|
|
9
|
+
primary: #8ba2ff
|
|
10
|
+
|
|
11
|
+
[nav]
|
|
12
|
+
Home -> /
|
|
13
|
+
|
|
14
|
+
[Home -> /]
|
|
15
|
+
|
|
16
|
+
/// hero bg:primary
|
|
17
|
+
h1: Colored hero section
|
|
18
|
+
p: This hero uses the primary brand color as background. Text contrast is auto-computed from luminance.
|
|
19
|
+
button: Get started -> /signup
|
|
20
|
+
|
|
21
|
+
/// section bg:primary-subtle
|
|
22
|
+
h2: Primary subtle background
|
|
23
|
+
p: A 12% tint of the primary color — good for alternating sections without full saturation.
|
|
24
|
+
|
|
25
|
+
/// section
|
|
26
|
+
h2: Default section (top-aligned columns)
|
|
27
|
+
p: No bg modifier. Columns align to the top by default — better for unequal-height cards and pricing grids.
|
|
28
|
+
|
|
29
|
+
col:
|
|
30
|
+
h3: Card A
|
|
31
|
+
p: Short content.
|
|
32
|
+
|
|
33
|
+
col:
|
|
34
|
+
h3: Card B
|
|
35
|
+
p: Longer content that stays aligned at the top instead of centering, giving a cleaner grid layout.
|
|
36
|
+
|
|
37
|
+
col:
|
|
38
|
+
h3: Card C
|
|
39
|
+
p: A third card to demonstrate top alignment across the row.
|
|
40
|
+
|
|
41
|
+
/// section bg:dark text:light
|
|
42
|
+
h2: Dark background
|
|
43
|
+
p: Use text:light when you need an explicit contrast override, such as for dark or custom-colored backgrounds.
|
|
44
|
+
|
|
45
|
+
/// section bg:muted
|
|
46
|
+
h2: Muted background
|
|
47
|
+
p: Uses Bootstrap's secondary background variable — a subtle surface tint that respects both light and dark themes.
|
|
48
|
+
|
|
49
|
+
/// section bg:success
|
|
50
|
+
h2: Bootstrap semantic — success
|
|
51
|
+
p: Bootstrap semantic tokens (success, warning, info, danger, dark, light) work without defining any brand colors.
|
|
52
|
+
|
|
53
|
+
/// section bg:warning
|
|
54
|
+
h2: Bootstrap semantic — warning
|
|
55
|
+
p: Warning uses dark text automatically for readability.
|
|
56
|
+
|
|
57
|
+
/// section bg:info
|
|
58
|
+
h2: Bootstrap semantic — info
|
|
59
|
+
|
|
60
|
+
/// section bg:danger
|
|
61
|
+
h2: Bootstrap semantic — danger
|
|
62
|
+
|
|
63
|
+
/// section align:center
|
|
64
|
+
h2: Center-aligned columns
|
|
65
|
+
p: Use align:center for image-and-text split layouts where vertical centering looks intentional.
|
|
66
|
+
|
|
67
|
+
col:
|
|
68
|
+
img: <- workspace
|
|
69
|
+
|
|
70
|
+
col:
|
|
71
|
+
h3: Paired with image
|
|
72
|
+
p: Vertically centred next to the image on large screens.
|
|
73
|
+
|
|
74
|
+
/// section bg:primary align:center
|
|
75
|
+
h2: Combined — primary background, center aligned
|
|
76
|
+
p: Modifiers compose freely. Any bg: can be paired with align: or text:.
|
|
77
|
+
|
|
78
|
+
col:
|
|
79
|
+
h3: Left column
|
|
80
|
+
p: Feature one.
|
|
81
|
+
|
|
82
|
+
col:
|
|
83
|
+
h3: Right column
|
|
84
|
+
p: Feature two.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
[site]
|
|
2
|
+
title: Hero Variants
|
|
3
|
+
description: Component-only examples for hero sections
|
|
4
|
+
logo: <- logo.svg
|
|
5
|
+
favicon: <- favicon.svg
|
|
6
|
+
|
|
7
|
+
[nav]
|
|
8
|
+
Home -> /
|
|
9
|
+
|
|
10
|
+
[Home -> /]
|
|
11
|
+
|
|
12
|
+
/// hero
|
|
13
|
+
h1: Simple hero with single CTA
|
|
14
|
+
p: Great for minimal landing pages and focused campaigns.
|
|
15
|
+
button: Get started -> /signup
|
|
16
|
+
|
|
17
|
+
/// hero
|
|
18
|
+
h1: Hero with supporting media
|
|
19
|
+
p: Pair copy with an image or illustration on the side.
|
|
20
|
+
img: workspace.jpg
|
|
21
|
+
button: Learn more -> /tour
|
|
22
|
+
button: View docs -> https://docs.micropage.sh
|
|
23
|
+
|
|
24
|
+
/// hero
|
|
25
|
+
h1: Centered hero with subtle subheading
|
|
26
|
+
p: Use this pattern when you want to make a single message stand out.
|
|
27
|
+
button: Join the beta -> /beta
|
|
28
|
+
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
[site]
|
|
2
|
+
title: Components — Pricing & Forms
|
|
3
|
+
description: Pricing tables and form patterns for reuse
|
|
4
|
+
logo: <- logo.svg
|
|
5
|
+
favicon: <- favicon.svg
|
|
6
|
+
|
|
7
|
+
[nav]
|
|
8
|
+
Home -> /
|
|
9
|
+
|
|
10
|
+
[Home -> /]
|
|
11
|
+
|
|
12
|
+
/// section
|
|
13
|
+
h2: Pricing table (three tiers)
|
|
14
|
+
|
|
15
|
+
col:
|
|
16
|
+
img: <- pricing-cards
|
|
17
|
+
h3: Starter
|
|
18
|
+
p: For small experiments and side projects.
|
|
19
|
+
p: 1 project, basic assets, 100 form submissions.
|
|
20
|
+
button: Choose starter -> /signup
|
|
21
|
+
|
|
22
|
+
col:
|
|
23
|
+
h3: Growth
|
|
24
|
+
p: For active products and teams.
|
|
25
|
+
p: More projects, higher limits, email digests.
|
|
26
|
+
button: Choose growth -> /signup
|
|
27
|
+
|
|
28
|
+
col:
|
|
29
|
+
h3: Scale
|
|
30
|
+
p: For agencies and high-traffic launches.
|
|
31
|
+
p: Priority queue, higher limits, dedicated support.
|
|
32
|
+
button: Talk to us -> /contact
|
|
33
|
+
|
|
34
|
+
/// section
|
|
35
|
+
h2: Contact form with extra fields
|
|
36
|
+
|
|
37
|
+
form: contact
|
|
38
|
+
input: Name*
|
|
39
|
+
input: Email*
|
|
40
|
+
input: Company
|
|
41
|
+
select: Budget [< $1k, $1k–$5k, $5k–$20k, > $20k]
|
|
42
|
+
checkboxes: Interested in [Design, Development, Copywriting]
|
|
43
|
+
text: Project details
|
|
44
|
+
submit: Request a quote
|
|
45
|
+
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
[site]
|
|
2
|
+
title: PocketTrack
|
|
3
|
+
description: Mobile app template for simple tracking and insights
|
|
4
|
+
logo: <- logo.svg
|
|
5
|
+
favicon: <- favicon.svg
|
|
6
|
+
|
|
7
|
+
[nav]
|
|
8
|
+
Home -> /
|
|
9
|
+
Features -> /features
|
|
10
|
+
Download -> /download
|
|
11
|
+
|
|
12
|
+
[footer]
|
|
13
|
+
/// section
|
|
14
|
+
|
|
15
|
+
col:
|
|
16
|
+
p: PocketTrack — simple habit tracking for iOS and Android.
|
|
17
|
+
|
|
18
|
+
col:
|
|
19
|
+
p: Questions or feedback? We’d love to hear from you.
|
|
20
|
+
|
|
21
|
+
col:
|
|
22
|
+
link: Help center -> /support
|
|
23
|
+
link: Privacy -> /privacy
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
[Home -> /]
|
|
27
|
+
|
|
28
|
+
/// hero
|
|
29
|
+
h1: Track the habits that matter
|
|
30
|
+
p: PocketTrack is a simple mobile app that helps you log habits, see progress, and stay motivated.
|
|
31
|
+
img: <- mobile-dashboard
|
|
32
|
+
button: Download for iOS -> /download
|
|
33
|
+
button: Download for Android -> /download
|
|
34
|
+
|
|
35
|
+
/// section
|
|
36
|
+
h2: Why PocketTrack
|
|
37
|
+
|
|
38
|
+
col:
|
|
39
|
+
icon: bi bi-check-circle
|
|
40
|
+
h3: Lightweight
|
|
41
|
+
p: Add habits in seconds, check them off with a tap.
|
|
42
|
+
|
|
43
|
+
col:
|
|
44
|
+
icon: bi bi-graph-up
|
|
45
|
+
h3: Clear progress
|
|
46
|
+
p: See streaks and trends on a simple timeline.
|
|
47
|
+
|
|
48
|
+
col:
|
|
49
|
+
icon: bi bi-moon
|
|
50
|
+
h3: Dark mode ready
|
|
51
|
+
p: Looks great day or night.
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
[Features -> /features]
|
|
55
|
+
|
|
56
|
+
/// section
|
|
57
|
+
h1: Built for everyday use
|
|
58
|
+
|
|
59
|
+
col:
|
|
60
|
+
h3: Daily reminders
|
|
61
|
+
p: Stay on track with gentle nudges at the times you choose.
|
|
62
|
+
|
|
63
|
+
col:
|
|
64
|
+
h3: Flexible categories
|
|
65
|
+
p: Group habits by health, work, relationships, or anything else you care about.
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
[Download -> /download]
|
|
69
|
+
|
|
70
|
+
/// section
|
|
71
|
+
h1: Get the app
|
|
72
|
+
p: PocketTrack is available for iOS and Android.
|
|
73
|
+
|
|
74
|
+
col:
|
|
75
|
+
button: Download on the App Store -> https://example.com/app-store
|
|
76
|
+
button: Get it on Google Play -> https://example.com/google-play
|
|
77
|
+
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
[site]
|
|
2
|
+
title: Studio Arc
|
|
3
|
+
description: Minimal portfolio for designers and developers
|
|
4
|
+
logo: <- logo.svg
|
|
5
|
+
favicon: <- favicon.svg
|
|
6
|
+
|
|
7
|
+
[nav]
|
|
8
|
+
Work -> /
|
|
9
|
+
About -> /about
|
|
10
|
+
Contact -> /contact
|
|
11
|
+
|
|
12
|
+
[footer]
|
|
13
|
+
/// section
|
|
14
|
+
|
|
15
|
+
col:
|
|
16
|
+
p: Studio Arc — independent design and development studio.
|
|
17
|
+
|
|
18
|
+
col:
|
|
19
|
+
p: Based in Copenhagen. Available for remote projects worldwide.
|
|
20
|
+
|
|
21
|
+
col:
|
|
22
|
+
link: Email -> mailto:hello@example.com
|
|
23
|
+
link: LinkedIn -> https://linkedin.com
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
[Work -> /]
|
|
27
|
+
|
|
28
|
+
/// hero
|
|
29
|
+
h1: Selected work
|
|
30
|
+
p: A curated set of projects, case studies, and experiments.
|
|
31
|
+
|
|
32
|
+
/// section
|
|
33
|
+
h2: Projects
|
|
34
|
+
|
|
35
|
+
col:
|
|
36
|
+
h3: Aurora UI
|
|
37
|
+
p: Design system and component library for a SaaS dashboard.
|
|
38
|
+
p: Role — Product design, front-end implementation.
|
|
39
|
+
|
|
40
|
+
col:
|
|
41
|
+
h3: Field Notes
|
|
42
|
+
p: Journal-style blog for long-form writing.
|
|
43
|
+
p: Role — Visual direction, typography, layout.
|
|
44
|
+
|
|
45
|
+
col:
|
|
46
|
+
h3: Signal Studio
|
|
47
|
+
p: Landing page for a creative agency with strong typography.
|
|
48
|
+
p: Role — Branding, layout, content.
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
[About -> /about]
|
|
52
|
+
|
|
53
|
+
/// section align:center
|
|
54
|
+
h1: About Studio Arc
|
|
55
|
+
|
|
56
|
+
col:
|
|
57
|
+
p: Studio Arc is a small, opinionated practice focused on clear typography, simple layouts, and fast-loading pages.
|
|
58
|
+
|
|
59
|
+
col:
|
|
60
|
+
p: This example shows a text-heavy layout that you can adapt for your own bio or company story.
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
[Contact -> /contact]
|
|
64
|
+
|
|
65
|
+
/// section
|
|
66
|
+
h1: Get in touch
|
|
67
|
+
p: Share a short brief and we’ll reply with availability.
|
|
68
|
+
|
|
69
|
+
form: contact
|
|
70
|
+
input: Name*
|
|
71
|
+
input: Email*
|
|
72
|
+
text: Project summary
|
|
73
|
+
text: Budget and timeline
|
|
74
|
+
submit: Send
|
|
75
|
+
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
[site]
|
|
2
|
+
title: Launchpad
|
|
3
|
+
description: Opinionated starter for SaaS and product launches
|
|
4
|
+
logo: <- logo.svg
|
|
5
|
+
favicon: <- favicon.svg
|
|
6
|
+
|
|
7
|
+
[nav]
|
|
8
|
+
Home -> /
|
|
9
|
+
Pricing -> /pricing
|
|
10
|
+
Contact -> /contact
|
|
11
|
+
|
|
12
|
+
[footer]
|
|
13
|
+
/// section
|
|
14
|
+
|
|
15
|
+
col:
|
|
16
|
+
p: © {year} Launchpad. All rights reserved.
|
|
17
|
+
|
|
18
|
+
col:
|
|
19
|
+
link: Docs -> https://docs.micropage.sh
|
|
20
|
+
link: Status -> /status
|
|
21
|
+
|
|
22
|
+
col:
|
|
23
|
+
link: Twitter -> https://twitter.com
|
|
24
|
+
link: GitHub -> https://github.com
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
[Home -> /]
|
|
28
|
+
|
|
29
|
+
/// hero
|
|
30
|
+
h1: Ship a polished site in minutes
|
|
31
|
+
p: Launchpad gives you a fast, opinionated starting point for SaaS landing pages.
|
|
32
|
+
img: aspect:16x9 <- product-dashboard
|
|
33
|
+
button: Get started -> /pricing
|
|
34
|
+
button: View docs -> https://docs.micropage.sh
|
|
35
|
+
|
|
36
|
+
/// section
|
|
37
|
+
h5: WHY LAUNCHPAD
|
|
38
|
+
|
|
39
|
+
col:
|
|
40
|
+
icon: bi bi-rocket
|
|
41
|
+
h3: Built for speed
|
|
42
|
+
p: Start from a working layout instead of a blank page.
|
|
43
|
+
|
|
44
|
+
col:
|
|
45
|
+
icon: bi bi-layers
|
|
46
|
+
h3: Structured content
|
|
47
|
+
p: Use sections, columns, and components with predictable behavior.
|
|
48
|
+
|
|
49
|
+
col:
|
|
50
|
+
icon: bi bi-stars
|
|
51
|
+
h3: AI-friendly
|
|
52
|
+
p: Optimized so AI agents can safely propose edits and variants.
|
|
53
|
+
|
|
54
|
+
/// section
|
|
55
|
+
h2: Features
|
|
56
|
+
|
|
57
|
+
col:
|
|
58
|
+
h3: Simple syntax
|
|
59
|
+
p: Micropage uses a compact text format instead of HTML templates.
|
|
60
|
+
|
|
61
|
+
col:
|
|
62
|
+
h3: Static output
|
|
63
|
+
p: Generate static pages that deploy anywhere.
|
|
64
|
+
|
|
65
|
+
col:
|
|
66
|
+
h3: Forms built in
|
|
67
|
+
p: Capture leads and messages without wiring up a backend.
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
[Pricing -> /pricing]
|
|
71
|
+
|
|
72
|
+
/// section align:center
|
|
73
|
+
h1: Simple pricing
|
|
74
|
+
p: Start for free, upgrade only when your site grows.
|
|
75
|
+
|
|
76
|
+
col:
|
|
77
|
+
h3: Free
|
|
78
|
+
p: For experiments and personal projects.
|
|
79
|
+
p: 1 project, basic assets, 100 form submissions.
|
|
80
|
+
button: Get started -> /contact
|
|
81
|
+
|
|
82
|
+
col:
|
|
83
|
+
h3: Pro
|
|
84
|
+
p: For serious launches and small teams.
|
|
85
|
+
p: More projects, assets, and priority queue.
|
|
86
|
+
button: Talk to sales -> /contact
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
[Contact -> /contact]
|
|
90
|
+
|
|
91
|
+
/// section
|
|
92
|
+
h1: Contact us
|
|
93
|
+
p: Tell us about your project and we’ll follow up.
|
|
94
|
+
|
|
95
|
+
form: contact
|
|
96
|
+
input: Name*
|
|
97
|
+
input: Email*
|
|
98
|
+
text: What are you launching?
|
|
99
|
+
submit: Send message
|
|
100
|
+
|