Skip to content

decipher2k/VibeCodingAssistant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

36 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Vibe Coding Assistant

Vibe Coding Assistant allows you to create apps, modules and scripts using a simple GUI - No coding skills required!
The apps will be automatically created using the GitHub Copilot Plus AI according to the data that you have enterd into Vibe Coding Assistant.

It is a desktop companion for GitHub Copilot CLI users and packages project discovery, prompt engineering, build execution, and failure remediation into a guided wizard so you can automate non-trivial software tasks with confidence. (Work in progress)

UPDATE: There is now a Windows launcher with automatic dependency installation
The dependency installer will automatically install npm, GitHub Copilot CLI, Java and DotNet SDK 9.0

AI model used: Claude Sonnet 4.5 (Premium)

Please note:
Each run costs at least 1 GitHub Copliot Plus premium credit.
If a run fails, there will be upt to 10 retries, which can cost up to 10 GitHub Copilot Plus premium credits.
Each finetuning will cost 1 more credit.

Vibe Coding Assistant is still a beta. It can eventually destroy an existing codebase.
The generated code can be prone to errors and may contain security flaws.
Don't use in a production environment!

🧰 Requirements

  • Operating System: Linux, Windows, or macOS
  • JRE 25 (Java Runtime Environment)
  • npm (Node Package Manager)
  • GitHub Copilot CLI installed and authenticated
  • A GitHub Copilot Pro account (paid)
  • Build toolchain for the language you intend to automate:
    • C# – .NET SDK with dotnet build.
    • C++ – cmake plus a configured build directory.
    • Java – Gradle or Maven (gradle build / mvn package).
    • Python – CPython (python -m compileall). etc

πŸ“¦ Installation Instructions

Installing JRE 25

Linux

Ubuntu/Debian:

# Download Oracle JDK 25
wget https://download.oracle.com/java/25/latest/jdk-25_linux-x64_bin.deb
sudo dpkg -i jdk-25_linux-x64_bin.deb

# Or use SDKMAN (recommended)
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install java 25-open

Fedora/RHEL:

# Download Oracle JDK 25
wget https://download.oracle.com/java/25/latest/jdk-25_linux-x64_bin.rpm
sudo rpm -ivh jdk-25_linux-x64_bin.rpm

# Or use SDKMAN (recommended)
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install java 25-open

Arch Linux:

# Install OpenJDK 25 (when available in repos)
sudo pacman -S jdk-openjdk

# Or use SDKMAN
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install java 25-open

Verify installation:

java -version

Windows

  1. Download Oracle JDK 25 from Oracle's website
  2. Run the installer (.exe file)
  3. Follow the installation wizard
  4. Add Java to your PATH:
    • Open System Properties β†’ Environment Variables
    • Add C:\Program Files\Java\jdk-25\bin to the Path variable
  5. Verify installation in Command Prompt or PowerShell:
java -version

macOS

Using Homebrew (recommended):

brew install openjdk@25

Or download from Oracle:

  1. Download the .dmg file from Oracle's website
  2. Open the .dmg file and run the installer
  3. Follow the installation wizard

Verify installation:

java -version

Installing npm

Linux

Ubuntu/Debian:

sudo apt update
sudo apt install nodejs npm

Fedora/RHEL:

sudo dnf install nodejs npm

Arch Linux:

sudo pacman -S nodejs npm

Using nvm (Node Version Manager - recommended for all distros):

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash
source ~/.bashrc  # or ~/.zshrc
nvm install node

Verify installation:

npm -v
node -v

Windows

Using official installer:

  1. Download Node.js from nodejs.org
  2. Run the installer (includes npm)
  3. Follow the installation wizard

Using winget:

winget install OpenJS.NodeJS

Using Chocolatey:

choco install nodejs

Verify installation:

npm -v
node -v

macOS

Using Homebrew:

brew install node

Using official installer:

  1. Download Node.js from nodejs.org
  2. Run the .pkg installer
  3. Follow the installation wizard

Using nvm (recommended):

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash
source ~/.zshrc  # or ~/.bash_profile
nvm install node

Verify installation:

npm -v
node -v

Installing GitHub Copilot CLI

After npm is installed, install GitHub Copilot CLI globally:

All Platforms (Linux, Windows, macOS)

npm install -g @github/copilot-cli

Authenticate with GitHub

Run the following command and follow the authentication flow:

github-copilot-cli
then enter /auth in the Github Copilot CLI prompt

This will:

  1. Open your browser to authenticate with GitHub
  2. Link your GitHub account with the CLI
  3. Verify your GitHub Copilot Pro subscription

Verify installation:

github-copilot-cli --version

Note: GitHub Copilot CLI requires an active GitHub Copilot Pro subscription.

🧭 Overview

The wizard walks you through three conversational screens to capture context about your codebase, intended changes, and environment. It then assembles a rich Copilot prompt, drives the Copilot CLI, and executes the resulting plan while tracking logs, compilation output, and retries inside a single window.

Use it when you want a repeatable way to generate new components or applications from structured requirements.

πŸ”§ Core Functions

  • Project intake & validation – verify language, project style, and environment prerequisites before any work begins.
  • Prompt composition – combines task metadata, custom dialogs, and recent outcomes into a reproducible Copilot request.
  • Automated test generation – creates comprehensive unit tests and integration tests for all generated or modified code.
  • Build automation – chooses the correct build tool (Gradle, Maven, dotnet, cmake, python, custom script) and executes it.
  • Test execution – automatically runs unit tests and integration tests after building to verify code quality.
  • Self-healing loop – captures compiler output, feeds it back into Copilot, and limits retries to protect your workflow time.
  • Knowledge capture – Dialog editors let you curate workflows, task templates, and form layouts for your team.

πŸ§‘β€πŸ’» Using the Wizard

  1. Initial Setup – Confirm runtime specifics (language, project style, operating systems). The wizard validates your selections and surfaces missing prerequisites.
  2. Task Selection – Pick from curated task categories (create app, modify code, fix build, author documentation, etc.) or load a saved dialog definition.
  3. Configure Details – Supply requirements in structured forms. Multi-line editors help you capture acceptance criteria, code snippets, and notes.
  4. Run & Monitor – Watch the live console for Copilot responses, command execution, and build logs. You can pause or stop the workflow at any time.
  5. Automated Testing – The wizard automatically generates unit tests and integration tests for all code, then executes them to verify correctness.
  6. Resolve Issues – Use the compilation error dialog to inspect remaining problems and retry with refined instructions if the automated loop exhausts its attempts.

πŸ§ͺ Testing Features

The Vibe Coding Assistant automatically creates and executes tests for all generated or modified code:

  • Unit Tests – Tests individual functions, methods, and classes in isolation

    • Covers normal use cases, edge cases, and error conditions
    • Uses appropriate testing frameworks (JUnit, NUnit/xUnit, pytest, Jest, etc.)
    • Aims for 80%+ code coverage of critical paths
  • Integration Tests – Tests interactions between components (when applicable)

    • Verifies end-to-end workflows and user scenarios
    • Tests database operations, file I/O, and API calls
    • Validates that integrated components work together correctly
  • Automatic Execution – After building, all tests are run automatically

    • Unit tests run first to verify individual components
    • Integration tests run second to verify component interactions
    • Build fails if tests don't pass, triggering the self-healing loop
  • Framework Support – Works with standard test commands:

    • Java/Gradle: gradle test
    • Java/Maven: mvn test
    • C#/.NET: dotnet test
    • Python: pytest
    • JavaScript/Node: npm test

πŸš€ Setup & Launch

Option A: Run with Gradle (requires Gradle 8+)

  1. Install a compatible Gradle distribution or add the Gradle Wrapper.
  2. From the project root run:
    • gradle run to launch the wizard.
    • gradle jar to produce build/libs/vibe-coding-wizard.jar for later use.

Option B: Manual compilation with javac

  1. Create an output directory: mkdir -p out.
  2. Compile sources: javac -d out (find src/main/java -name "*.java").
  3. Start the app: java -cp out com.vibecoding.wizard.VibeCodingWizardApp.

Prefer a single runnable artifact? After gradle jar, launch with java -jar build/libs/vibe-coding-wizard.jar.

�️ Customization & Extensibility

  • Tailor prompt phrasing in PromptBuilder.java to match your team’s tone or templates.
  • Extend BuildCommandPlanner.java to support new languages, test runners, or deployment hooks.
  • Integrate with alternative CLIs by swapping out CopilotCliService.java.
  • Adjust theming and layout via ThemeManager.java, UiUtils.java, and FormLayoutBuilder.java.

πŸ§ͺ Development Notes

  • Run unit tests with gradle test (requires Gradle and JDK 21+).
  • Headless UI tests live under src/test/java/com/vibecoding/wizard/tests/ and can be executed the same way.
  • The application builds cleanly without external dependencies; ensure your JAVA_HOME matches the required toolchain version.

❓ Troubleshooting

  • Copilot CLI not found: Run npm install -g @github/copilot and verify the binary is on your PATH.
  • Build command fails immediately: Check that the detected project style matches a configured build tool; override defaults in the wizard if needed. Make sure that the build tools required for the chosen programing language are installed.
  • UI fails to start: Confirm you compiled with a compatible JDK and that Swing is available (it ships with the standard JDK).
  • Retry loop stops early: The wizard caps retries at 10 iterations to avoid infinite paths. Adjust logic in TaskExecutionDialog.java if you need different limits.

πŸ“„ License

This project ships under the Apache 2.0 license and is Copyright (c) 2025 by Dennis Michael Heine

About

Create apps, modules and scripts using a simple GUI

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages