Skip to content

1dolinski/aidd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aidd

aidd logo

AI Driven Development (Test Driven, Benchmark Driven, Design System Driven, I/O Driven)


Overview

aidd empowers developers to focus on critical requirements while automating the rest. You provide hard requirements—whether they are test requirements, benchmarks, design systems, or I/O specifications—and aidd fills in the gaps. This system accelerates development by ensuring components and code are generated with precise input and output definitions.


Key Features

  • AI-Driven Development: Focus on defining requirements; let AI handle the implementation.
  • Test-Driven Development (TDD): Write tests, and aidd will generate code that passes them.
  • Benchmark-Driven: Set performance goals, and aidd ensures the generated code meets or exceeds them.
  • Design System Integration: Provide design system specifications for seamless UI component development.
  • Input/Output Requirements: Define inputs and outputs to generate components or APIs with proper parameter handling.

Installation

  1. Clone the repository:

    git clone <repository-url>
    cd aidd
  2. Install dependencies:

    npm install
  3. Run the development environment:

    node main.js "Create a function that calculates the factorial of a number"
  4. 🎉 :

    See files in /src/* and tests in /spec/*
    

How to Use

  1. Define Requirements
    Provide your requirements using one of these methods:

    • Test Requirements: Create unit tests or test suites for the intended functionality.
    • Benchmarks: Specify benchmarks that your code or components should meet.
    • Design System Parameters: Provide design system rules (like colors, typography, component structure).
    • I/O Specifications: Outline input and output parameter behavior for APIs or components.
  2. Run aidd
    Use aidd to generate the code based on your provided requirements:

    npm run aidd
  3. Refinement
    Review the generated code and make refinements if necessary. Rerun benchmarks or tests as needed.


Example Usage

Test-Driven Requirement Example:

One of the goals is to get AI to

  • Create tests
  • Explain Tests and Their Coverage
  • Create Code
  • Run tests
  • Make code and test changes
  • Re-run tests

This is an example of a test.

  1. Create a test file:

    // test/sum.test.js
    const sum = require('../src/sum');
    test('adds 1 + 2 to equal 3', () => {
      expect(sum(1, 2)).toBe(3);
    });
  2. Run aidd:

    npm run aidd
  3. The sum.js function will be generated to pass the above test:

    // src/sum.js
    function sum(a, b) {
      return a + b;
    }
    module.exports = sum;

Contributing

We really welcome contributions and collaboration! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch:
    git checkout -b feature-branch-name
  3. Make your changes and commit them:
    git commit -m "Add new feature"
  4. Push your changes:
    git push origin feature-branch-name
  5. Create a Pull Request.

Wishlist

[done] Create Open Source package [done] Create logo and REAMDE [ ] figure out the ideal flow for each

Scratch note TDD - write a pure function - one file, one test suite - write a feature -- several functions - plan - unit tests

Benchmark - make this function run faster - optimize this page - do one at a time, update until it works

Design System / Component - give design system - give constraint - could be specific input schema and output - give natural langauge requirements - design me a component

- design a full page

License

This project is licensed under the MIT License.


Contact

For questions or issues, please open an issue on the repository or reach out to the project maintainers.


AI development made easy: Focus on requirements, let aidd do the rest!

About

AI Driven Development (Test Driven, Benchmark Driven, Design System Driven, I/O Driven)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published