GEMINI
Goal
Create a PHP application to control agents from Google Jules and coordinated by GitHub repository andissues running on a php webserver using a MySQL database and Google SSO login for multi user management.
Structure
CONCEPT.md: The overall structure of the product, including Business Cases & Use Cases as well as the overall High-Level Architecture, etc.DESIGN.md: The detailed design of the solution, including the architecture, used tech stack for development, production and testing, etc.ROADMAP.md: The list of accomplished and planned steps of the project, it should be group into Phases, Tasks and Subtasks if necessary. Checkboxes show the progress to be updated with every increment./specification/: External Know-How as datasheet, standards, etc. Should be converted to Markdown if PDF, etc./src/: The source code of the projec/src/openapi.yamlthe REST-API definition used to generate the front- & backend glue-code/src/frontend/: The source code for the frontend (Browser) parts of the project/src/backend/: The source code for the PHP backend/src/client-api/: The source code for client api modules of the project/src/sql/: The SQL scripts for the schematic and patches between releases if necessary/src/clients/: Definition of external interfaces/test/: All tools, configurations & test cases/build/: Only temporary place for compilation, may be cached by Github/scripts/install.shto install all tools to build the application (test only tools, see below)
*ROADMAP.md handling
The
ROADMAP.mdis the final plan to implement theCONCEPT.mdandDESIGN.mdto achive the top goalDefine the steps in a way to allow for parallelization by defining interfaces only first and implementing functions later.
The
ROADMAP.mdfile is structured into several key sections:Progress Overview: A table summarizing Phases, Descriptions, and Status (using ✅ for completed, 🚧 for in-progress, ⏳ for planned).
Goals: A high-level list of project objectives with status emojis.
Phases: Detailed chapters for each project phase.
The Tasks, and Subtasks if necessary, have checkboxes to show the progress.
Every task to be implemented has to be modest, feasible and reasonable.
If no such task is available, then break down a bigger steps to modest ones without implementing anything, just changing the
ROADMAP.md.
Status Emojis:
✅: Completed
🚧: In Progress
⏳: Planned / To Do
The progress is updated with every increment.
The finished tasks are linked to the corresponding issue and timestamped at the end of the line.
Database
If SQL statements are required, use the oldest, most common standard dialect available to improve cross-plattform compatibility.
Draw database schematics as plantUML entities with crowfoot notation.
Testing Locally & with Github Action Workflow
Setup the empty CI/CD pipeline before coding anything
Write CI/CD test independent as
testscript of the Github action workflowsCreate screenshots of each UI step tested and store it as asset of the Action Workflow for review
Use
test/install.shto install test tools.Use the Github action workflows to run the tests after commits.
Before committing fetch all changes from the remote repository and merge the changes
Run the CI/CD on every commit on every branch
Add as much caching as possible to the Github action workflows