[autoresearch] baseline: system prompt quality tests (5/5 passing)
This commit is contained in:
1 parent
05cc036f6d
commit
60b0101717
142 files changed
+18589
-9947
No files matched your search
@@ -0,0 +1,59 @@
|
||||
---
|
||||
trigger: model_decision
|
||||
description: When working on a Go backend project, setting up Go project structure, or organizing Go services and APIs
|
||||
---
|
||||
|
||||
## Go Backend Layout
|
||||
|
||||
Use this structure for Go backend applications. The vertical slice principle applies — features are packages, not layers.
|
||||
|
||||
```
|
||||
apps/
|
||||
backend/ # Backend application source code
|
||||
cmd/
|
||||
api/
|
||||
main.go # Entry point: Wires dependencies, router, starts server
|
||||
internal/ # Private application code
|
||||
platform/ # Foundational technical concerns (The "Framework")
|
||||
database/ # DB connection logic
|
||||
server/ # HTTP server setup (Router, Middleware)
|
||||
logger/ # Structured logging setup
|
||||
features/ # Business Features (Vertical Slices)
|
||||
task/ # Task management
|
||||
# --- Interface Definition ---
|
||||
service.go # The public API of this feature (Service struct)
|
||||
|
||||
# --- Delivery (HTTP) ---
|
||||
handler.go # HTTP Handlers
|
||||
handler_test.go # Component tests (httptest + mock service)
|
||||
|
||||
# --- Domain (Business Logic) ---
|
||||
logic.go # Core business logic methods
|
||||
logic_test.go # Unit tests (Pure functions + mock storage)
|
||||
models.go # Domain structs (Task, NewTaskRequest)
|
||||
errors.go # Feature-specific errors
|
||||
|
||||
# --- Storage (Data Access) ---
|
||||
storage.go # Storage Interface definition
|
||||
storage_pg.go # Postgres implementation
|
||||
postgres_integration_test.go # Integration tests (Real DB/Testcontainers)
|
||||
storage_mock.go # Mock implementation
|
||||
...
|
||||
order/ # Order management
|
||||
handler.go
|
||||
logic.go
|
||||
storage.go
|
||||
...
|
||||
```
|
||||
|
||||
**Key Go conventions:**
|
||||
- `cmd/` for entry points — each subdirectory is a separate binary
|
||||
- `internal/` for private packages — enforced by Go compiler (cannot be imported externally)
|
||||
- `platform/` for foundational concerns (database, server, logger)
|
||||
- `features/` for vertical business slices — each feature is self-contained
|
||||
- Tests live alongside the code they test (`_test.go` suffix)
|
||||
- `go.mod` at the root — single module for the entire application
|
||||
|
||||
### Related Principles
|
||||
- Project Structure @project-structure.md (core philosophy)
|
||||
- Go Idioms and Patterns @go-idioms-and-patterns.md (coding idioms, error handling, naming)
|
||||
Reference in new issue
Block a user