AI SummaryGollem is a Cursor rules booster that establishes development standards and restrictions for Go-based agentic AI applications using MCP, ensuring consistent code quality, English-only documentation, and proper testing practices.
Install
# Download to your project root curl -o .cursorrules "https://raw.githubusercontent.com/m-mizutani/gollem/main/.cursor/rules/go.mdc"
Description
Go framework for agentic AI app with MCP and built-in tools
Usage
In many cases, a developer does not care Go generics in using gt. However, a developer need to specify generic type (Value, Array, Map, Error, etc.) explicitly to use specific test functions for each types. See @reference for more detail. Value Generic test type has a minimum set of test methods. `go type user struct { Name string } u1 := user{Name: "blue"} // gt.Value(t, u1).Equal(1) // Compile error // gt.Value(t, u1).Equal("blue") // Compile error // gt.Value(t, u1).Equal(&user{Name:"blue"}) // Compile error gt.Value(t, u1).Equal(user{Name:"blue"}) // Pass ` Number Accepts only number types: int, uint, int64, float64, etc. `go var f float64 = 12.5 gt.Number(t, f). Equal(12.5). // Pass Greater(12). // Pass Less(10). // Fail GreaterOrEqual(12.5) // Pass ` Array Accepts array of any type not only primitive type but also struct. `go colors := []string{"red", "blue", "yellow"} gt.Array(t, colors). Equal([]string{"red", "blue", "yellow"}) // Pass Equal([]string{"red", "blue"}) // Fail // Equal([]int{1, 2}) // Compile error Contain([]string{"red", "blue"}) // Pass Has("yellow") // Pass Length(3) // Pass gt.Array(t, colors).Must().Has("orange") // Fail and stop test ` Map `go colorMap := map[string]int{ "red": 1, "yellow": 2, "blue": 5, } gt.Map(t, colorMap) .HasKey("blue") // Pass .HasValue(5) // Pass // .HasValue("red") // Compile error .HasKeyValue("yellow", 2) // Pass gt.Map(t, colorMap).Must().HasKey("orange") // Fail and stop test `
Design and task
• You can find requirements and tasks in markdown files for implementation in .task directory • You should check if you completed or satisfied the task or requirement.
Restrictions
• You can build binary for testing, but you MUST clean it after checking. • All comments and literals MUST be in English. • Do not remove /tmp directory. • You need to run go test ./... and check errors before exiting your task. • If you need to access internal package for testing, you should use export_test.go file.
Comment & Literals
All comment and literals in source code MUST be in English.
Quality Score
Good
77/100
Trust & Transparency
Open Source — Apache-2.0
Source code publicly auditable
Verified Open Source
Hosted on GitHub — publicly auditable
Actively Maintained
Last commit Yesterday
157 stars — Growing Community
9 forks