awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
rakyll avatar

rakyll/statik

0
View on GitHub↗
3,828 stars·228 forks·Go·Apache-2.0·12 views

Statik

Statik is a build tool for the Go language that transforms directory structures and files into byte arrays within source code. This process enables the creation of single-binary distributions by embedding static assets directly into the compiled executable.

The tool ensures deterministic builds by stripping file modification timestamps, resulting in consistent binary outputs across different environments. It also includes a build-time asset filter to limit the inclusion of specific file extensions and minimize the final executable size.

To access these embedded assets, the project provides a virtual file system interface that maps binary data to a standard file system API. This allows applications to interact with embedded resources as if they were stored on a physical disk.

Features

  • Static Asset Embedding - Ships a CLI utility that transforms directory structures and files into embedded Go source code.
  • Virtual File System Generators - Generates a virtual file system interface from static directory structures during the Go compilation process.
  • Single-Binary Distributions - Bundles all required static assets into a single executable to eliminate external file dependencies.
  • Virtual File Systems - Provides a virtual file system interface that maps embedded byte arrays to a standard file system API.
  • Binary Asset Embedders - Transforms directory structures and files into byte arrays within Go source code for single-binary distribution.
  • Byte Array Converters - Converts static files into Go source code byte slices to enable embedding within the compiled binary.
  • Build Resource Filtering - Includes only specific file extensions in the final binary to minimize the resulting executable size.
  • Asset Filtering Rules - Provides rules to exclude specific files or directories based on extensions before they are embedded.
  • Deterministic Timestamp Stripping - Removes file modification timestamps during the build process to ensure bit-for-bit identical binary outputs.
  • Extension Filtering - Limits the inclusion of assets to specific file extensions to minimize the resulting binary size.
  • Build Size Optimizers - Optimizes Go binary size by filtering specific files and removing timestamps during the build process.
  • Embedded Resources - Embeds static files into Go executables.
  • Resource Embedding - Embed static files into Go executables.
  • Static Asset Embedding - Embeds static files into Go programs.

Star history

Star history chart for rakyll/statikStar history chart for rakyll/statik

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does rakyll/statik do?

Statik is a build tool for the Go language that transforms directory structures and files into byte arrays within source code. This process enables the creation of single-binary distributions by embedding static assets directly into the compiled executable.

What are the main features of rakyll/statik?

The main features of rakyll/statik are: Static Asset Embedding, Virtual File System Generators, Single-Binary Distributions, Virtual File Systems, Binary Asset Embedders, Byte Array Converters, Build Resource Filtering, Asset Filtering Rules.

Which projects share features with rakyll/statik?

Projects with overlapping indexed features include: shurcool/vfsgen — Takes an input http.FileSystem (likely at go generate time) and generates Go code that statically implements it. gobuffalo/packr — The simple and easy way to embed static files into Go binaries. geertjohan/go.rice — go.rice is a Go package that makes working with resources such as html,js,css,images,templates, etc very easy. nexe/nexe — Nexe is a cross-platform binary bundler and compiler that packages Node.js applications and their dependencies into… mjibson/esc. go-playground/statics.

Projects sharing features with Statik

These projects share indexed features with Statik. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • gobuffalo/packrgobuffalo avatar

    gobuffalo/packr

    3,393View on GitHub↗

    The simple and easy way to embed static files into Go binaries.

    Gobuildgobuffalopackr
    View on GitHub↗3,393
  • shurcool/vfsgenshurcooL avatar

    shurcooL/vfsgen

    983View on GitHub↗

    Takes an input http.FileSystem (likely at go generate time) and generates Go code that statically implements it.

    Goembed-filesgo
    View on GitHub↗983
  • geertjohan/go.riceGeertJohan avatar

    GeertJohan/go.rice

    2,442View on GitHub↗

    go.rice is a Go package that makes working with resources such as html,js,css,images,templates, etc very easy.

    Go
    View on GitHub↗2,442
  • nexe/nexenexe avatar

    nexe/nexe

    13,571View on GitHub↗

    Nexe is a cross-platform binary bundler and compiler that packages Node.js applications and their dependencies into single standalone executables. It functions as a runtime compiler that can build the Node.js runtime from source with custom flags and application snapshots to enable software distribution without requiring a pre-installed runtime. The system allows for cross-compilation across different operating systems and architectures from a single build environment. It includes a static asset bundler to embed external files and directories directly into the compiled binary for access at ru

    TypeScriptbinariesbinarybundle
    View on GitHub↗13,571
Compare all 30 related projects→