skip to content
petrovich

fullkek-starter — создание скелета Hypermedia за 1 минуту

/ 2 min read

demo

fullkek-starter

На сегодняшний день я снова стал придерживаться идеи того, что нужно выстреливать как можно большим количеством продуктов. Сейчас как никогда проще делать MVP и тем самым валидировать гипотезы. Особенно под чутким руководством фуллкек инженера.

Чтобы ускорить процесс еще больше, я написал CLI, которая создает базу для нового проекта с Hypermedia. Там тот стек, который мне кажется оптимальным для меня — Go, HTMX/Fixi.js, Tailwind, SQLite. Все это под небольшим соусом DDD и конечно Layered Architecture.

Стек заслуживает отдельного поста, поэтому пока не буду углубляться в причины выбора. Вкратце — SPA в 99% ужасный выбор для соло фуллкек разработчика.

LLM прекрасно работает с хорошо выстроенным кодом. Аргумент о том, что лучше всех генерирует Next.js код уже не выглядит правдоподобным. foobar с отличным DDD прекрасно вкуривается GPT-5, Codex.

Что внутри

Сама CLI написана на Go с помощью прекрасного инструмента cobra и TUI библиотеки bubbletea с ее улучшением для создания форм huh.

В итоге создается проект вот с такой архитектурой:

.
├── Makefile
├── README.md
├── bin
├── cmd
│   └── server
│       └── main.go
├── go.mod
├── internal
│   ├── app
│   │   └── app.go
│   ├── infrastructure
│   │   └── sqlite
│   │       └── sqlite.go
│   └── transport
│       └── http
│           ├── router.go
│           └── server.go
├── public
│   └── assets
│       ├── scripts
│       │   └── htmx.min.js
│       └── styles
│           └── output.css
├── var
│   └── data
└── web
    ├── assets
    │   ├── scripts
    │   │   └── README.md
    │   └── styles
    │       ├── README.md
    │       ├── input.css
    │       └── tokens
    └── templates
        ├── README.md
        └── pages
            ├── home.html
            └── index.html

23 directories, 16 files

Что дальше

Дальше я хочу добавить туда опциональную и субъективную реализацию аутентификации через username/password или OAuth. Аутентификация переделывается из проекта в проект, после justlaunch и foobar у меня появилась хорошая модулярная имплементация, которую можно переносить из проекта в проект.

Попробуйте развернуть проект за 1 минуту — fullkek-starter

Ну и конечно же нужно поставить звездочку для поддержки проекта.