|
44 | 44 |
|
45 | 45 | <svelte:head> |
46 | 46 | <title>OpenBoot - One-line macOS Development Environment Setup</title> |
47 | | - <meta name="description" content="Bootstrap your Mac development environment in minutes. One command to install everything you need - Homebrew, CLI tools, GUI apps, dotfiles, and Oh-My-Zsh." /> |
| 47 | + <meta name="description" content="Bootstrap your Mac development environment in minutes. One command to install everything you need - Homebrew, CLI tools, GUI apps, dotfiles, and Oh-My-Zsh. Snapshot your current setup and share it with your team." /> |
48 | 48 | </svelte:head> |
49 | 49 |
|
50 | 50 | <header class="site-header"> |
|
94 | 94 | <div class="feature-item">Apple Silicon & Intel support</div> |
95 | 95 | <div class="feature-item">3 curated presets</div> |
96 | 96 | <div class="feature-item">Oh-My-Zsh + shell aliases</div> |
97 | | - <div class="feature-item">Dotfiles management</div> |
| 97 | + <div class="feature-item">Snapshot & share your setup</div> |
98 | 98 | <div class="feature-item">macOS preferences tuning</div> |
99 | 99 | <div class="feature-item">Dry-run mode for preview</div> |
100 | 100 | <div class="feature-item">100% open source</div> |
|
177 | 177 | {/if} |
178 | 178 | </div> |
179 | 179 | </section> |
| 180 | + |
| 181 | + <section class="snapshot-section"> |
| 182 | + <div class="section-header"> |
| 183 | + <h2 class="section-title">Already Have a Setup?</h2> |
| 184 | + <p class="section-subtitle">Capture your current Mac's installed state and share it as a config</p> |
| 185 | + </div> |
| 186 | + |
| 187 | + <div class="snapshot-card"> |
| 188 | + <div class="snapshot-content"> |
| 189 | + <div class="snapshot-info"> |
| 190 | + <div class="snapshot-flow"> |
| 191 | + <p class="snapshot-description"> |
| 192 | + Run one command to scan your machine — Homebrew formulae & casks, macOS preferences, shell config, git config, dev tools, and VS Code extensions — then upload it as a shareable configuration. |
| 193 | + </p> |
| 194 | + <p class="snapshot-usecase">Perfect for team leads who want to share their proven setup as a team baseline.</p> |
| 195 | + </div> |
| 196 | + <div class="snapshot-detects"> |
| 197 | + <span class="detect-tag">Homebrew formulae & casks</span> |
| 198 | + <span class="detect-tag">macOS preferences</span> |
| 199 | + <span class="detect-tag">Shell config</span> |
| 200 | + <span class="detect-tag">Git config</span> |
| 201 | + <span class="detect-tag">Dev tools</span> |
| 202 | + <span class="detect-tag">VS Code extensions</span> |
| 203 | + </div> |
| 204 | + </div> |
| 205 | + <div class="snapshot-command-area"> |
| 206 | + <div class="snapshot-command"> |
| 207 | + <code>openboot snapshot</code> |
| 208 | + <button class="copy-btn" onclick={() => copyCommand('openboot snapshot', 'snapshot')}> |
| 209 | + {copied === 'snapshot' ? 'Copied!' : 'Copy'} |
| 210 | + </button> |
| 211 | + </div> |
| 212 | + <span class="snapshot-flags">Also supports <code>--json</code> <code>--local</code> <code>--dry-run</code></span> |
| 213 | + </div> |
| 214 | + </div> |
| 215 | + </div> |
| 216 | + </section> |
180 | 217 | </div> |
181 | 218 | </main> |
182 | 219 |
|
|
538 | 575 | font-size: 0.85rem; |
539 | 576 | } |
540 | 577 |
|
| 578 | + .snapshot-section { |
| 579 | + margin-bottom: 80px; |
| 580 | + } |
| 581 | +
|
| 582 | + .snapshot-card { |
| 583 | + background: var(--bg-secondary); |
| 584 | + border: 1px solid var(--border); |
| 585 | + border-radius: 20px; |
| 586 | + padding: 36px 40px; |
| 587 | + position: relative; |
| 588 | + overflow: hidden; |
| 589 | + } |
| 590 | +
|
| 591 | + .snapshot-card::before { |
| 592 | + content: ''; |
| 593 | + position: absolute; |
| 594 | + top: 0; |
| 595 | + left: 0; |
| 596 | + right: 0; |
| 597 | + height: 3px; |
| 598 | + background: linear-gradient(90deg, var(--accent), transparent); |
| 599 | + } |
| 600 | +
|
| 601 | + .snapshot-content { |
| 602 | + display: grid; |
| 603 | + grid-template-columns: 1fr auto; |
| 604 | + gap: 40px; |
| 605 | + align-items: center; |
| 606 | + } |
| 607 | +
|
| 608 | + .snapshot-info { |
| 609 | + display: flex; |
| 610 | + flex-direction: column; |
| 611 | + gap: 20px; |
| 612 | + } |
| 613 | +
|
| 614 | + .snapshot-description { |
| 615 | + color: var(--text-secondary); |
| 616 | + font-size: 0.95rem; |
| 617 | + line-height: 1.6; |
| 618 | + margin: 0; |
| 619 | + } |
| 620 | +
|
| 621 | + .snapshot-usecase { |
| 622 | + color: var(--text-muted); |
| 623 | + font-size: 0.85rem; |
| 624 | + font-style: italic; |
| 625 | + margin: 0; |
| 626 | + } |
| 627 | +
|
| 628 | + .snapshot-detects { |
| 629 | + display: flex; |
| 630 | + flex-wrap: wrap; |
| 631 | + gap: 8px; |
| 632 | + } |
| 633 | +
|
| 634 | + .detect-tag { |
| 635 | + font-family: 'JetBrains Mono', monospace; |
| 636 | + font-size: 0.7rem; |
| 637 | + padding: 4px 12px; |
| 638 | + background: rgba(255, 255, 255, 0.05); |
| 639 | + border: 1px solid rgba(255, 255, 255, 0.08); |
| 640 | + border-radius: 6px; |
| 641 | + color: var(--text-secondary); |
| 642 | + } |
| 643 | +
|
| 644 | + .snapshot-command-area { |
| 645 | + display: flex; |
| 646 | + flex-direction: column; |
| 647 | + align-items: flex-end; |
| 648 | + gap: 12px; |
| 649 | + flex-shrink: 0; |
| 650 | + } |
| 651 | +
|
| 652 | + .snapshot-command { |
| 653 | + background: var(--code-bg); |
| 654 | + border: 1px solid var(--border); |
| 655 | + border-radius: 12px; |
| 656 | + padding: 16px 20px; |
| 657 | + display: flex; |
| 658 | + align-items: center; |
| 659 | + gap: 16px; |
| 660 | + white-space: nowrap; |
| 661 | + } |
| 662 | +
|
| 663 | + .snapshot-command code { |
| 664 | + font-family: 'JetBrains Mono', monospace; |
| 665 | + font-size: 0.95rem; |
| 666 | + color: var(--accent); |
| 667 | + } |
| 668 | +
|
| 669 | + .snapshot-flags { |
| 670 | + font-size: 0.75rem; |
| 671 | + color: var(--text-muted); |
| 672 | + } |
| 673 | +
|
| 674 | + .snapshot-flags code { |
| 675 | + font-family: 'JetBrains Mono', monospace; |
| 676 | + font-size: 0.7rem; |
| 677 | + color: var(--text-secondary); |
| 678 | + padding: 2px 6px; |
| 679 | + background: rgba(255, 255, 255, 0.05); |
| 680 | + border-radius: 4px; |
| 681 | + } |
| 682 | +
|
541 | 683 | @media (max-width: 768px) { |
542 | 684 | .ascii-logo { |
543 | 685 | font-size: 6px; |
|
550 | 692 | .presets-container { |
551 | 693 | grid-template-columns: 1fr; |
552 | 694 | } |
| 695 | +
|
| 696 | + .snapshot-card { |
| 697 | + padding: 24px 20px; |
| 698 | + } |
| 699 | +
|
| 700 | + .snapshot-content { |
| 701 | + grid-template-columns: 1fr; |
| 702 | + gap: 24px; |
| 703 | + } |
| 704 | +
|
| 705 | + .snapshot-command-area { |
| 706 | + align-items: stretch; |
| 707 | + } |
| 708 | +
|
| 709 | + .snapshot-flags { |
| 710 | + text-align: center; |
| 711 | + } |
553 | 712 | } |
554 | 713 | </style> |
0 commit comments