Quickstart
Prerequisites
- Go
1.25.5or newer - Node.js
20+ - Bash (for the UI8Kit CSS sync script)
1) Clone and install dependencies
git clone <your-fork-or-repo-url> fastygo-framework
cd fastygo-framework
npm install
go mod download
2) Prepare UI8Kit CSS
go mod download github.com/fastygo/ui8kit@v0.2.5
npm run sync:ui8kit
3) Run the app in development mode
npm run build:css
go run github.com/a-h/templ/cmd/templ@v0.3.1001 generate
go run ./cmd/server
Alternatively, if make is available:
make dev
Run docs application:
make dev-docs
Build docs statically:
make build-docs
4) Open in your browser
Go to:
http://127.0.0.1:8080
You should see the dashboard shell with:
- Sidebar navigation from features
- Mobile
Sheetpanel behavior on narrow viewports - Theme toggle in the header
- Language switcher in the header
- Welcome page with title, description and button
- Documentation index and article pages at
/and/quickstart,/developer-guide,/api-reference
Optional production build
make build
./bin/framework
To run both app and docs in production build:
make build-docs
./bin/docs
Environment
The app reads these defaults in pkg/app/config.go:
APP_BIND(default:127.0.0.1:8080)APP_STATIC_DIR(default:static)APP_DEFAULT_LOCALE(default:en)APP_AVAILABLE_LOCALES(default:en,ru)APP_DATA_SOURCE(default:fixture)
CI and lint checks
The repository runs the no-root-import policy in CI via .github/workflows/no-root-imports.yml.
It executes make ci on pushes to main and pull requests.
make ci -> make lint-ci -> make lint:
go test ./...go run ./scripts/check-no-root-imports.go
Without make, run the same checks manually:
go test ./...
go run ./scripts/check-no-root-imports.go