Skip to content

rishops/sdd

Repository files navigation

Spec-Driven Development (SDD) Extension for Gemini CLI

This extension brings a native Spec-Driven Development (SDD) workflow to the Gemini CLI, inspired by the methodology of building software from a detailed specification.

Description

This extension provides a structured workflow for developing software based on a specification. It guides you through initializing a project, defining principles, creating a specification, planning the implementation, breaking it down into tasks, and finally, implementing those tasks with AI assistance.

Prerequisites

  • Gemini CLI
  • Node.js (v16 or higher)
  • npm (v8 or higher)

Installation

From a remote repository

To install the Spec-Driven Development extension from the Git repository, use the following command:

gemini extension install https://github.com/rishops/sdd

From a local directory

After building the extension, you can install it from your local directory:

gemini extension install .

Usage

The SDD workflow is composed of a series of commands that guide you through the development process:

  1. Scaffold a new project: Use the /scaffold command to create a new SDD project. This will create a new directory with the project name and scaffold the necessary files.

    /scaffold <project-name>
  2. Define the principles: Use the /principals command to open the GEMINI.md file. This file is for defining the core principles and development workflow of your project.

    /principals
  3. Define the specification: Use the /specify command to open the SPEC.md file. Here, you will define the detailed specification of what you are building.

    /specify
  4. Generate a plan: Use the /plan command to generate a PLAN.md file from your specification. This plan will outline the technical implementation details.

    /plan
  5. Generate tasks: Use the /tasks command to break down the plan into actionable tasks in a TASKS.md file.

    /tasks
  6. Implement tasks: Use the /implement command to get assistance with implementing a specific task from your TASKS.md file.

    /implement <task-number>

Development

To set up the development environment and test the extension locally, follow these steps:

  1. Clone the repository:

    git clone https://github.com/rishops/sdd
    cd sdd
  2. Install dependencies:

    npm install
  3. Build the extension:

    npm run build
  4. Link the extension for local development: This will allow you to use the extension locally without having to reinstall it after every change.

    gemini extension link .

Testing

To run the tests for the extension, use the following command:

npm run test

Contributing

Contributions are welcome! Please feel free to open an issue or submit a pull request on the project's repository.

License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published