macOS
brew install ifacemakerlocal Homebrew formula metadata
安装
brew install ifacemakerlocal Homebrew formula metadata
概览
Generate interfaces from structure methods
历史
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.
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.
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.
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.
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.
安全态势
narrow executable package without higher-risk signals.
绿色 风险 · 低 置信度 · appliance
在无人值守的代理使用前,请检查该工具是否读取明文凭据、写入远程状态、发布制品或调用插件。
可执行文件
| 命令 | 类型 | 暴露范围 | 备注 |
|---|---|---|---|
ifacemaker | 可执行文件 | 已索引可执行文件 | 从本地可执行文件索引发现。 |
新鲜度
这些信号区分页生成时间、软件包管理器活动和上游发布比较。只有存在证据 URL 和可比较版本时,才会提示版本落后。
安装元数据
| 软件包键 | brew:ifacemaker |
|---|---|
| 版本 | 1.4.0 |
| 软件包管理器 | Homebrew |
| 主页 | https://github.com/vburenin/ifacemaker |
| 仓库 | https://github.com/vburenin/ifacemaker |
| 最后更新 | 2026-07-26T04:07:47+02:00 |
| Pulse | updated |
| Bottle | 未记录 |
| 服务 | 未声明 |
来源线索
此页面由 av-web 从 scripts/generate-pkg-sqlite.py 生成的私有软件包 SQLite 工件提供。
View the package source record on GitHub.