$ show razshare/frizzante
Frizzante is an opinionated web server framework and CLI tool built in Go that scaffolds, configures, builds, and runs full-stack web applications using Svelte for server-side rendering and client-side hydration. The CLI provides a TUI menu system for project creation, dependency management (Go, Bun, Air, sqlc), development with live reload, building production binaries, testing, and more. The scaffolded project includes a complete web server with session management, SQLite database, guards, and a todo list example. The architecture separates the CLI layer (menus, actions, generations) from the scaffolded project's library (core, views, security, servers, routes). The codebase demonstrates strong Go engineering with build tags for conditional compilation, extensive use of embedded files, and a well-structured TUI using Bubble Tea.
The LLM identified 6 files worth highlighting for reuse:
Implements SHA-256 hashing with hex encoding using standard library. Self-contained, tested, and can be extracted for any project needing SHA-256 digest.
A generic form decoder that uses reflection to populate struct fields from HTTP form data, supporting strings, booleans, integers, floats, slices, and multipart files. Includes caching of field metadata for performance. Isolated and reusable.
Wraps the Goja JavaScript engine to execute a Svelte server-side render bundle. Injects console and hash functions, compiles the JS source, and provides a callable render function. Self-contained pattern for embedding JS execution in Go.
A configurable HTTP server starter with graceful shutdown on SIGINT/SIGTERM, CORS support, guard chain integration, and customizable timeouts. Clean abstraction for starting production-ready web servers.
Downloads files with SHA1-based caching. Stores downloaded files in a cache directory keyed by URL hash, skipping re-download if already cached. Reusable for any Go tool that needs to cache remote binary downloads.
Wraps the esbuild Go API to bundle JavaScript source into a specific module format with alias support. Provides a simple function interface, error handling, and returns bundled string. Clean, isolated, and reusable.