This repo has some basic assets to experiment Spec-Driven Development using the Gemini CLI. You will act as a developer going from a raw Functional Specification to a deployed Pull Request in a single session.
.gemini/commands/: Contains configuration files for custom commands (techspec,plan,build).GEMINI.md: Contains project rules and guidelines.js_codegen_instructions.md: Contains Gemini API coding guidelines for JavaScript/TypeScript.py_codegen_instructions.md: Contains Gemini API coding guidelines for Python.- No application code.
The GEMINI.md configuration and custom commands require the following extensions:
- Google Workspace
- Nano Banana
- GitHub
Goal: Transform a Functional Spec (Google Doc) into a Technical Spec (Google Doc).
-
Command:
/techspec "Name of your functional specs doc" "Your desired technology stack and requirements" -
What Happens:
- The agent searches your Drive for the doc.
- It reads the requirements.
- It generates a Technical Specification including Data Models, API Routes, and Architecture based on your inputs.
- Output: It creates a new Google Doc titled "Technical Specification - Application name" and gives you the link.
Goal: Break the Technical Spec down into an atomic Implementation Plan.
-
Command:
/plan "Name of your Tech spec doc"(Use the exact name of the doc generated in Step 1)
-
What Happens:
- The agent reads the Tech Spec.
- It creates a local file
IMPLEMENTATION_PLAN.md. - It breaks the project into phases (e.g., Setup, Backend, Frontend, Polish).
- It defines the Git strategy.
Goal: Execute the plan and write the code.
-
Command:
/build IMPLEMENTATION_PLAN.md "Name of your Tech spec doc" -
What Happens (Iterative):
- Execution: The agent iterates through the plan, initializing the project structure and writing the application code.
- Visuals: It generates necessary visual assets (images, icons) as defined in the spec.
- Progress: It updates
IMPLEMENTATION_PLAN.mdas tasks are completed.
Goal: Push the code and open a Pull Request.
-
Action: The
/buildcommand's final phase usually covers this, or you can manually instruct the agent to finalize the project. -
What Happens:
- The agent runs final checks (linting/formatting).
- It creates a
README.mdfor the new application. - It commits all changes.
- It pushes the feature branch to GitHub.
- It uses the GitHub extension to Open a Pull Request.
| Step | Command | Input | Output |
|---|---|---|---|
| 1. Spec | /techspec |
Functional Doc (Drive) | Tech Spec (Drive) |
| 2. Plan | /plan |
Tech Spec (Drive) | IMPLEMENTATION_PLAN.md |
| 3. Build | /build |
Plan + Tech Spec | Code, Assets, App |