the beginning of the idiots
This commit is contained in:
85
gemini/go/AGENTS.md
Normal file
85
gemini/go/AGENTS.md
Normal file
@@ -0,0 +1,85 @@
|
||||
Do not perform any operations on the host other than git and docker / docker compose operations
|
||||
|
||||
Utilize docker containers for all work done in this repository.
|
||||
Utilize a docker artifact related name prefix of <codingagent>-<language>-<function> to make it easy to manage all the docker artifacts.
|
||||
|
||||
Only expose the main app web interface over the network. All other ports should remain on a per stack docker network.
|
||||
|
||||
Here are the port assignments for the containers
|
||||
|
||||
|
||||
gemini/go 12000
|
||||
gemini/hack 13000
|
||||
gemini/nodejs 14000
|
||||
gemini/php 15000
|
||||
gemini/python 16000
|
||||
|
||||
qwen/go 17000
|
||||
qwen//hack 18000
|
||||
qwen/nodejs 19000
|
||||
qwen/php 20000
|
||||
qwen/python 21000
|
||||
|
||||
copilot/go 22000
|
||||
copilot/gemini/hack 23000
|
||||
copilot/nodejs 24000
|
||||
copilot/php 25000
|
||||
copilot/python 26000
|
||||
|
||||
The purpose of this repository is to test three coding agents:
|
||||
|
||||
qwen
|
||||
copilot
|
||||
gemini
|
||||
|
||||
and five programming languages:
|
||||
|
||||
go
|
||||
hack
|
||||
nodejs
|
||||
php
|
||||
python
|
||||
|
||||
against the following programming test:
|
||||
|
||||
I have purchased the domain name MerchantsOfHope.org and its intened to be the consulting/contracting arm of TSYS Group.
|
||||
It will need to handle:
|
||||
|
||||
- Multiple independent tennants (TSYS Group has dozens and dozens of lines of business, all fully isolated from each other)
|
||||
- OIDC and social media login
|
||||
|
||||
It will need to handle all functionality of a recuriting platform:
|
||||
|
||||
- Job seekers browsing postions and posting resumes/going through the application process
|
||||
- Job providrrs managing the lifecycle of positions and applications
|
||||
|
||||
This should be pretty simple and off the shelf, bog standard type workflows.
|
||||
|
||||
Presume USA law compliance only.
|
||||
|
||||
No need for anything other than English to be supported.
|
||||
|
||||
Accessibility is critical, we have a number of US Government contracts and they mandate accessibility.
|
||||
|
||||
Also we need to be compliant with PCI, GDPR, SOC, FedRamp etc.
|
||||
|
||||
|
||||
Use the name of the directory you are in to determine the programming language to use.
|
||||
|
||||
Do not create any artifacts outside of the directory you are in now.
|
||||
|
||||
You may manage the contents of this directory as you see fit.
|
||||
|
||||
Please keep it well organized.
|
||||
|
||||
Follow Test Driven Development for all your work.
|
||||
|
||||
Create and maintain a docker-compose.yml file with your service dependenices
|
||||
|
||||
Ship this application as a docker container.
|
||||
|
||||
This will eventually be deployed into a k8s cluster , so make sure to take that into account.
|
||||
|
||||
Also follow all best common practices for security, QA, engineering, SRE/devops etc.
|
||||
|
||||
Make it happen.
|
||||
23
gemini/go/Dockerfile
Normal file
23
gemini/go/Dockerfile
Normal file
@@ -0,0 +1,23 @@
|
||||
# Use the official Golang image to create a build artifact.
|
||||
# https://hub.docker.com/_/golang
|
||||
FROM golang:1.22 as builder
|
||||
|
||||
# Create and change to the app directory.
|
||||
WORKDIR /app
|
||||
|
||||
# Retrieve application dependencies.
|
||||
# This allows the container build to reuse cached dependencies.
|
||||
# Expecting a go.mod file to be present.
|
||||
COPY go.mod go.sum ./
|
||||
RUN go mod download
|
||||
|
||||
# Copy local code to the container image.
|
||||
COPY . .
|
||||
|
||||
# Build the binary.
|
||||
RUN CGO_ENABLED=0 GOOS=linux go build -o /go/bin/app .
|
||||
|
||||
# Use a slim distribution for a small image.
|
||||
FROM gcr.io/distroless/static-debian11
|
||||
COPY --from=builder /go/bin/app /
|
||||
CMD ["/app"]
|
||||
15
gemini/go/main.go
Normal file
15
gemini/go/main.go
Normal file
@@ -0,0 +1,15 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
func main() {
|
||||
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
|
||||
fmt.Fprintf(w, "Hello, World!")
|
||||
})
|
||||
|
||||
fmt.Println("Server starting on port 12000")
|
||||
http.ListenAndServe(":12000", nil)
|
||||
}
|
||||
Reference in New Issue
Block a user