go

Installation
SKILL.md

Go

This is a guide for how to develop applications and modules/libraries in Go.

Some of it is only applicable for applications, not modules used as libraries in other projects, such as database access and running a server.

Application structure

Generally, I build web applications and libraries/modules.

These are the packages typically present in applications (some may be missing, which typically means I don't need them in the project).

  • main: contains the main entry point of the application (in directory cmd/app)
  • model: contains the domain model used throughout the other packages
  • sql/sqlite/postgres: contains SQL database-related logic as well as database migrations (under subdirectory migrations/) and test fixtures (under subdirectory testdata/fixtures/). The database used is either SQLite or PostgreSQL.
  • sqltest/sqlitetest/postgrestest: package used in testing, for setting up and tearing down test databases
  • s3: logic for interacting with Amazon S3 or compatible object stores
  • s3test: package used in testing, for setting up and tearing down test S3 buckets
  • llm: clients for interacting with large language models (LLMs) and foundation models
Related skills

More from maragudk/fabrik

Installs
2
Repository
maragudk/fabrik
GitHub Stars
6
First Seen
14 days ago