Skip to content

feat: add Ent as Go ORM option#145

Merged
Marve10s merged 1 commit intomainfrom
feat/add-ent-go-orm
Apr 10, 2026
Merged

feat: add Ent as Go ORM option#145
Marve10s merged 1 commit intomainfrom
feat/add-ent-go-orm

Conversation

@Marve10s
Copy link
Copy Markdown
Owner

@Marve10s Marve10s commented Apr 9, 2026

Summary

  • Adds Ent (entgo.io) by Meta as a third Go ORM option alongside GORM and sqlc
  • Ent provides code-first schema definitions with compile-time safety and a graph traversal API (15k+ GitHub stars)
  • Full CRUD handlers for all 4 web frameworks (gin, echo, fiber, chi) using database/sql with Ent schema files ready for code generation via go generate ./ent

Files changed (15)

File Change
packages/types/src/schemas.ts Add "ent" to GoOrmSchema enum
packages/types/src/option-metadata.ts Add Ent label override
apps/cli/src/prompts/go-ecosystem.ts Add Ent prompt option
templates/go-base/go.mod.hbs Add entgo.io/ent, lib/pq, go-sqlite3 deps
templates/go-base/cmd/server/main.go.hbs Widen DB import guard, add Ent init block
templates/go-base/internal/database/database.go.hbs Add Ent database init using database/sql
templates/go-base/internal/models/models.go.hbs Add Ent request/response types
templates/go-base/internal/handlers/handlers.go.hbs Widen all ORM guards, add Ent CRUD for gin/echo/fiber/chi
templates/go-base/ent/generate.go.hbs //go:generate directive for Ent code gen
templates/go-base/ent/schema/user.go.hbs Ent User schema with edges
templates/go-base/ent/schema/post.go.hbs Ent Post schema with edges
apps/web/src/lib/constant.ts Add Ent to TECH_OPTIONS.goOrm
apps/web/src/lib/tech-resource-links.ts Add Ent docs/GitHub links
packages/template-generator/src/processors/readme-generator.ts Add Ent features, structure, DB setup section
apps/cli/src/helpers/core/post-installation.ts Add Ent display name

Test plan

  • cli-builder-sync.test.ts passes (351 pass, 1 pre-existing fail from i18n/rustCaching)
  • Full build chain succeeds: types -> generate-templates -> template-generator -> CLI
  • Scaffolded 6 combos, all compile with go build ./...:
    • gin + ent
    • echo + ent
    • fiber + ent
    • chi + ent
    • gin + ent + grpc
    • fiber + ent + none-logging

Add Ent (entgo.io) by Meta as a third Go ORM option alongside GORM and
sqlc. Ent provides code-first schema definitions with compile-time
safety and a graph traversal API.

- Schema: add "ent" to GoOrmSchema enum
- Templates: go.mod.hbs (deps), database.go.hbs (database/sql init),
  models.go.hbs (input types), handlers.go.hbs (CRUD for all 4 frameworks),
  main.go.hbs (init block), ent/schema/ (User + Post schemas), ent/generate.go
- CLI: prompt option, post-install display name
- Web: constant.ts entry, tech-resource-links
- Processors: readme-generator (features, structure, db setup)

Scaffolds compile with go build for all framework combos:
gin+ent, echo+ent, fiber+ent, chi+ent, gin+ent+grpc, fiber+ent+none-logging
@vercel
Copy link
Copy Markdown

vercel bot commented Apr 9, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
better-fullstack-web Ignored Ignored Apr 9, 2026 9:09pm

@github-actions github-actions bot added size:XL 500-999 effective changed lines (test files excluded in mixed PRs). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. labels Apr 9, 2026
@Marve10s Marve10s merged commit 951ddcb into main Apr 10, 2026
13 checks passed
Marve10s added a commit that referenced this pull request Apr 11, 2026
## New Tools (18 additions across all ecosystems)

### TypeScript
- **Algolia** search engine (#125)
- **Vercel** deployment with compat rules (#137)
- **GraphQL Yoga + Pothos** API option (#139)
- **Tauri** desktop app addon (#142)
- **i18n** category: i18next + next-intl (#149)

### Rust
- **tracing + env-logger** logging category (#126)
- **anyhow + thiserror + eyre** error handling category (#135)
- **Diesel** ORM (#140)
- **Rocket** web framework (#143)
- **moka + redis** caching category (#144)

### Go
- **Fiber** web framework (#127)
- **Chi** web framework (#133)
- **zerolog + slog** logging (#138)
- **Ent** ORM (#145)

### Python
- **Flask** web framework (#128)
- **Litestar** web framework (#136)
- **authlib + jwt** auth category (#141)
- **Strawberry** GraphQL category (#148)

## Infrastructure
- Adding new tool options guideline (3,000+ lines, 7 files)
- PR-aware smoke tests (--force-option, --force-non-none, --partition)
- Strengthened CI: test:release expanded, smoke tests block PRs
- Compatibility rules guideline with template parity checks
- Meilisearch template fix for v0.57 API changes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XL 500-999 effective changed lines (test files excluded in mixed PRs). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant