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
·
dominikh avatar

dominikh/go-tools

0
View on GitHub↗
6,818 stars·409 forks·Go·MIT·15 viewsstaticcheck.dev↗

Go Tools

go-tools is a collection of utilities for Go static analysis and memory layout optimization. It provides a toolset designed to analyze source code to detect bugs and dead code, alongside specialized tools for optimizing how structs are arranged in memory.

The project includes a memory alignment visualizer to display physical memory layouts and padding, as well as a struct layout optimizer that reorders fields to minimize memory padding. Additionally, it provides a boilerplate generator to automate the creation of registration and test files required for developing custom Go analyzers.

The toolset covers broader capabilities in source code analysis, struct layout inspection, and the generation of repetitive analyzer infrastructure.

Features

  • Static Analysis Tools - Provides a suite of static analysis tools for identifying bugs and dead code in Go projects.
  • Layout Optimizers - Reorders fields within a struct to minimize padding and reduce the overall memory footprint.
  • Memory Layouts - Provides a utility for inspecting memory alignment, field sizes, and padding of Go structs.
  • Memory Layout Visualizers - Generates human-readable graphics to represent how a Go struct is laid out in memory.
  • Memory Padding Optimizers - Provides a greedy field reordering mechanism to minimize memory padding in Go structs.
  • Struct Layout Visualizers - Analyzes and visualizes how Go structs are arranged in memory to identify alignment issues.
  • Go Performance Optimization - Reduces the memory footprint of Go programs by optimizing struct field order to eliminate padding.
  • Struct Layout Optimizers - Calculates field offsets and reorders struct members to minimize memory padding in Go.
  • Linter Development Toolkits - Provides the necessary boilerplate and registration generation for building custom Go analyzers.
  • Memory Layout Inspectors - Uses Go reflection to calculate field offsets and padding sizes for memory alignment analysis.
  • Memory Alignment Utilities - Displays the physical memory layout and padding of Go structs for performance tuning.
  • Static Code Analysis - Implements automated scanning of Go source code to detect bugs and dead code without execution.
  • Boilerplate Generators - Generates repetitive source code for analyzer registration and test files based on check definitions.
  • Template-Based Code Generators - Automates the creation of registration and test files using predefined templates and directory structures.
  • Linter Boilerplate Generators - Creates the repetitive registration and test source code required for developing Go analyzers.
  • Formatting and Linting Pipelines - Ships a multi-pass pipeline that runs independent analyzers over source code to ensure quality and style.
  • Code Analysis and Quality - Collection of static analysis tools.
  • Code Analysis Tools - Collection of advanced linters and static analysis tools.
  • Static Analysis Tools - Provides a suite of tools and libraries for Go code analysis.

Star history

Star history chart for dominikh/go-toolsStar history chart for dominikh/go-tools

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 dominikh/go-tools do?

go-tools is a collection of utilities for Go static analysis and memory layout optimization. It provides a toolset designed to analyze source code to detect bugs and dead code, alongside specialized tools for optimizing how structs are arranged in memory.

What are the main features of dominikh/go-tools?

The main features of dominikh/go-tools are: Static Analysis Tools, Layout Optimizers, Memory Layouts, Memory Layout Visualizers, Memory Padding Optimizers, Struct Layout Visualizers, Go Performance Optimization, Struct Layout Optimizers.

What are some open-source alternatives to dominikh/go-tools?

Open-source alternatives to dominikh/go-tools include: golang/lint — This is a static analysis linter and code quality tool for Go. It analyzes source code to identify common coding… golang/tools — This project is a collection of official toolsets and server implementations designed for the parsing, formatting, and… pycqa/flake8 — Flake8 is a Python style checker and static analysis tool that identifies programmatic errors and violations of coding… go-critic/go-critic — The most opinionated Go source code linter for code audit. kisielk/errcheck — errcheck checks that you checked errors. golang/vscode-go — This project is a language extension for VS Code that provides comprehensive Go language support. It functions as a…

Open-source alternatives to Go Tools

Similar open-source projects, ranked by how many features they share with Go Tools.
  • golang/lintgolang avatar

    golang/lint

    3,969View on GitHub↗

    This is a static analysis linter and code quality tool for Go. It analyzes source code to identify common coding errors, style mistakes, and inconsistencies with language conventions. The tool is designed for integration with text editors and integrated development environments, exporting linting results in formats that support quickfix menus. Its capabilities include Go static analysis and source code quality assurance across files and packages. The system utilizes a static analysis pipeline and rule-based pattern matching to identify structural patterns that violate predefined coding stand

    Go
    View on GitHub↗3,969
  • golang/toolsgolang avatar

    golang/tools

    7,970View on GitHub↗

    This project is a collection of official toolsets and server implementations designed for the parsing, formatting, and semantic analysis of the Go programming language. It includes a language server that provides real-time code intelligence and automated editing capabilities to editors via the Language Server Protocol. The toolset provides a suite of utilities for source code formatting and static analysis. This includes automated standardization of code layout, import organization, and the generation of string representation methods for enumerated types. The project covers broad static anal

    Go
    View on GitHub↗7,970
  • pycqa/flake8PyCQA avatar

    PyCQA/flake8

    3,760View on GitHub↗

    Flake8 is a Python style checker and static analysis tool that identifies programmatic errors and violations of coding standards in source files. It serves as a linting wrapper that aggregates multiple checkers into a single interface, functioning as a pluggable framework for Python code analysis. The tool incorporates a cyclomatic complexity analyzer to measure the logical complexity of functions and identify code that requires refactoring. It is designed for extensibility, allowing the integration of custom plugins and rules through defined entry points. The system provides capabilities fo

    Pythoncomplexity-analysisflake8linter
    View on GitHub↗3,760
  • go-critic/go-criticgo-critic avatar

    go-critic/go-critic

    2,054View on GitHub↗

    The most opinionated Go source code linter for code audit.

    Go
    View on GitHub↗2,054
  • See all 30 alternatives to Go Tools→