# README
Example CRUD project applying Hexagonal Architecture, Domain-Driven Design (DDD), Command Query Responsibility Segregation (CQRS), Behavior-Driven Development (BDD), Continuous Integration (CI), and more... in Go
Features
-
Project Layout
- Based on Standard Go Project Layout
-
Devcontainer
- Features
- Extensions & Settings
-
Docker
- Dockerfile
- Multistage
- Compose
- Setup by ENV
- Dockerfile
-
GitHub
- Actions & Workflows
- Setup Languages and Dependencies
- Secrets Scanning, Linting & Test Checks
- Upgrade Dependencies
- Automate Release
- Issue Templates (Defaults)
- Actions & Workflows
-
Git
- Hooks
- Pre-Commit
- Secrets Scanning & Formatting
- Commit-Msg
- Check Conventional Commits rules
- Pre-Commit
- Hooks
-
Releases
- Automatically
- Hooks
- Linting & Test Checks
- Bump Version (based on Conventional Commits & SemVer)
- CHANGELOG
- Commit & Tag
- GitHub Release
- Hooks
- Automatically
First Steps
Clone
HTTPS
git clone https://github.com/bastean/codexgo.git && cd codexgo
SSH
git clone [email protected]:bastean/codexgo.git && cd codexgo
Initialize
Dev Container (recommended)
-
Install required
-
Start VS Code
code .
-
Open Command Palette
- Ctrl+Shift+P
-
Run
Dev Containers: Reopen in Container
Locally
ZIP
-
Run
make from-zero
Repository
Settings
-
Actions
-
General
-
Workflow permissions
- Read and write permissions
-
-
-
Secrets and variables
-
Actions
-
New repository secret
-
BOT_GPG_PRIVATE_KEY
gpg --armor --export-secret-key [Pub_Key_ID (*-BOT)]
-
BOT_GPG_PASSPHRASE
-
-
-
Run
Development
make compose-dev
Test
make compose-test
Production
make compose-prod
Screenshots




Tech Stack
Base
Please see
Contributing
- Contributions and Feedback are always welcome!