# ant

> A typed ORM for Go with plain structs and no code generation

- Page: https://www.whatwemade.app/p/ant
- What it is: Developer tool, for engineering
- Made by: [Alberts Liepiņš](https://www.whatwemade.app/u/alberts-liepi)
- Run it yourself: get the code and run your own copy
- Website: https://skudra.net
- Code: https://github.com/skudra-go/ant (MIT, 3 stars)
- Languages: English
- Status: in progress, 70% built
- Wants contributors: Test coverage, identifying real data issues in the ORM. Performance currently isn't primary priority, though it's known that there are things to improve there too, for example, field pointer lookups.

There are open issues that can be solved for an easier, more direct contribution :)
- Tags: orm, go, database, sql, typed-queries
- Upvotes: 1, comments: 0

## About

ant is a typed ORM for Go that leverages modern generics. Models are plain structs, and queries are checked by the compiler. Columns are referenced through field pointers rather than strings, so renaming a field renames it in every query.

It is built on database/sql and supports PostgreSQL, MySQL, MariaDB, SQLite and SQL Server. It covers typed queries, relations loaded in batches, change tracking with SaveChanges, transactions, migrations written as plain SQL, and an antvet go vet analyzer.

It is for Go developers who want typed database access without a code generation step. It requires Go 1.27 or later and is pre-1.0, so the API may still change.

## How it was made

- Claude Code, 80% of the work: Took a proof of concept and expanded into a practical implementation while following strict instructions on decisions an

## What you need to run it

- Tools: Golang

Shared on WhatWeMade: https://www.whatwemade.app/p/ant
