Automic VaultAutomic Vault

brew

Install ifacemaker with Homebrew

Generate interfaces from structure methods. Version 1.4.0 via Homebrew; verified 2026-06-26.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install ifacemaker

local Homebrew formula metadata

overview

Package summary

Generate interfaces from structure methods

Commands and aliases

  • ifacemaker

history

Project history and usage

ifacemaker is a small Go code-generation helper that reads methods from a concrete struct and emits a Go interface. Its README identifies gomock support as the primary use case: generate the interface first, then let gomock generate mocks from that interface.

The project is not a broad framework. Its significance is that it automates a repetitive Go testing chore while staying close to ordinary Go source files and command-line workflows.

Project history

The repository's tagged releases start at v1.0.0 in 2018, after the release notes describe it as already working in CI/CD for over a year. Later tags add usability improvements, glob handling, struct-handling fixes, and support for newer Go language features.

The README documents support for Go generics and generic methods, showing that the tool evolved alongside Go's type system rather than remaining limited to pre-generics code.

Adoption history

ifacemaker's adoption appears concentrated among Go teams that use gomock or similar test doubles and want interfaces derived from existing concrete types. It is packaged in Homebrew and installable with go install, but its user base is naturally bounded by one Go testing workflow.

The project also has downstream influence in adjacent tools: interface generators in the Go ecosystem cite it as an inspiration because it covers a common friction point in Go's explicit-interface style.

How it is used

Users point ifacemaker at a Go source file, name the struct, choose the interface name and package, and either print the generated interface or write it to a file. Options cover output file selection, promoted methods, excluded methods, unexported methods, copied documentation, and generated-file comments.

The practical workflow is to keep production code concrete, generate a narrow interface for tests, and feed that interface into a mock generator.

Why package nerds care

ifacemaker is package-nerd interesting because it is a tiny CLI around one awkward edge of Go culture: interfaces are satisfied implicitly, but tests often need explicit interface declarations.

It also shows how language-specific codegen tools get packaged as normal Unix commands, making a Go AST workflow available from shell scripts, CI jobs, and Homebrew.

Timeline

  • 2018-12-05: v1.0.0 tag is recorded in the repository.
  • 2019-08-02: v1.1.0 tag adds usability improvements around command-line use.
  • 2023-05-09: v1.2.1 tag is recorded.
  • 2025-04-03: v1.3.0 tag is recorded.
  • 2026-06-26: v1.4.0 tag is recorded.

Related projects

  • gomock is the primary related project named by the README.
  • Other Go interface generators, mock generators, and go/ast-based developer tools occupy the same tooling neighborhood.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 1 runtime dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
ifacemakercliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version1.4.0
manager updated2026-06-26
local dataok
upstreamcurrent
latest detectedv1.4.0

https://github.com/vburenin/ifacemaker

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:ifacemaker
Version1.4.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/ifacemaker
Homepagehttps://github.com/vburenin/ifacemaker
Repositoryhttps://github.com/vburenin/ifacemaker
Upstream docshttps://github.com/vburenin/ifacemaker#readme
LicenseApache-2.0
Source archivehttps://github.com/vburenin/ifacemaker/archive/refs/tags/v1.4.0.tar.gz
Last updated2026-06-26T23:59:04Z
Pulseupdated
Dependenciesgo
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameifacemaker
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • package relationship graph
  • package version freshness
  • package-page enrichment