Golang: Contract Implementation Rules
SkillDev toolsGolang rules for implementing CODEMANIFEST contracts
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Golang: Contract Implementation Rules skill
What this skill tells your AI
The instructions your AI receives, as published by qarium/goga in goga/assets/skills/goga-cell-go/SKILL.md and read by ahel’s review.
Language skill for Golang.
Apply this specification within the calling skill's context. Do not paraphrase the contents — use them to drive decisions.
Invoked through the goga-lang-disp router.
Examples
A complete CODEMANIFEST example for Go with all DSL constructs:
Imports:
- Types:
- BaseModel
- RepositoryConfig AS Config
Usages:
- query_patterns
From: path/to/storage_cell
Usages:
conventions: .goga/usages/go_conventions.md
pattern: |
Follow Go idioms: return errors as last return value, use interfaces for abstraction.
testing: |
Table-driven tests required for all exported functions and methods.
Annotations: |
Use `conventions` for code style.
Use `testing` for test requirements.
Use `query_patterns` from Imports for database query patterns.
All methods returning errors must follow `(result, error)` pattern.
---
"ParseInput(input string) -> data:[]byte":
location: parser.go
annotations: |
Parse raw input string into structured data.
`input`: raw string to parse
Use `pattern` for implementation.
"Server(host string)":
location: server.go
annotations: |
HTTP server with configurable host.
`host`: server hostname
Use `query_patterns` from Imports for request handling.
Use `conventions` for code style.
properties:
"Host -> string": |
Server hostname.
"Port -> int64": |
Server port number.
methods:
"HandleRequest(req Request) -> resp:Response, err:error": |
Handle incoming HTTP request.
`req`: incoming request
`resp`: response to send
`err`: error if request handling fails
Use `pattern` for implementation.
"Shutdown() -> err:error": |
Gracefully shut down the server.
`err`: error if shutdown fails.
"BaseModel::Repository(db DB)":
location: repository.go
annotations: |
Repository extending BaseModel with database operations.
`db`: database connection
Use `query_patterns` from Imports for query construction.
->BaseModel: {}
---
Author: Goga
CreatedAt: 22/05/26
Description: |
Example CODEMANIFEST demonstrating all DSL constructs for Go.
Cell
A cell is a Go package:
cell/
├── CODEMANIFEST
├── cell.go
Language Specifics
Facade: The Go package itself serves as the facade. All exported identifiers define the cell's public API. The contract-extractor reads exported names verbatim — names declared in CODEMANIFEST must match exactly.
Naming: Use camelCase for all identifiers (no underscores). Exported identifiers start with
an uppercase letter: SomeFunc, SomeField. Unexported identifiers start with lowercase: someFunc, someField.
CODEMANIFEST references exported names only.
Constructors: Go does not provide constructors. The Entity signature declares a factory function (e.g. NewServer()).
Methods: Methods are defined via receivers, not inside struct definitions. The contract-extractor associates methods with their struct based on the receiver type.
Error handling: Follow the (result, error) idiom. CODEMANIFEST return values must carry
a semantic label: () -> err:error or () -> result:T, err:error.
Construct Mapping
| Go | CODEMANIFEST | Note |
|---|---|---|
type X struct | Entity | Struct fields → properties (exported only) |
type X interface | Entity | Interface methods → methods |
func (r *X) Method() | Method | Bound to Entity by receiver type |
func Name() (no receiver) | Routine | Package-level function |
| Exported struct field | Property | Type derived from field declaration |
Implementation
- Public API = exported identifiers
- Use structs + functions
Signature Rules
Allowed:
string, int, float64, bool, error
[]T, map[string]T
Forbidden:
pointers (*T),
interface{},
variadic (...),
channels,
Signals
- GitHub stars
- 29
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
goga-cell-go- Source
- github.com/qarium/goga