Об этом проекте
Morphous — это статический каталог, построенный на TanStack Start, посвящённый дизайн-системам, вдохновлённым природой. Каждая запись каталога начинается с мотива животного, растения, минерала, погоды или ландшафта и включает прозрачный мотивный ассет, светлую и тёмную доски дизайн-системы, записанные промпты, а также экспорты тем, совместимые с CSS-переменными в стиле shadcn/tweakcn.
Проект использует Bun для управления пакетами и скриптами, а также TanStack Start, Vite, React и Tailwind CSS. Создаётся статический пререндеринговый вывод в папке .output/public, который развёртывается на GitHub Pages через GitHub Actions. Опубликованный сайт настроен для домена morphos.ameyanagi.com.
Пакеты каталога размещаются в public/systems/{slug}/ и обычно содержат prompts.json, system.json, theme.css, theme.json, motif.png, design-system-light.png и design-system-dark.png. В более старых пакетах могут использоваться эквивалентные имена ассетов, указанные в system.json, например animal.png или design-system.png. UI каталога читает файлы из публичных пакетов и предоставляет доступ к промптам и экспортам тем из каждой системы.
Команды разработки включают: bun run dev — локальный сервер разработки, bun run check — линтинг и тип-чекинг, bun run test — тесты, bun run ci — линтинг, тип-чекинг, тесты и продакшен-сборка. Команда bun run generate:previews создаёт лёгкие WebP-превью для галереи. bun run pages:prepare проверяет статический вывод сборки и добавляет файлы для развёртывания на GitHub Pages. Обновление и валидация каталога выполняются через bun run generate:catalog, bun run generate:previews и bun run validate:catalog.
Генерация ассетов обрабатывается проектным Codex-скиллом, расположенным в .codex/skills/morphous-catalog/SKILL.md. Генерация изображений выполняется инструментом Codex image, после чего копируется в каждый системный пакет. Хук pre-commit от Husky, установленный при bun install, запускает generate:previews и check. Развёртывание на GitHub Pages происходит при пушах в ветку main и может быть запущено вручную; воркфлоу устанавливает зависимости через Bun, запускает CI, загружает .output/public как артефакт Pages и развёртывает с помощью actions/deploy-pages. Файлы CNAME и .nojekyll в публичной зоне поддерживают пользовательский домен и точную подачу ассетов. Pull-реквесты запускают CI без развёртывания. Проект распространяется под двойной лицензией Apache-2.0 или MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.