Skip to content

AllenMuenLee/Flowd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FLOWD - Code with the flow

FLOWD is a PyQt6 desktop app that helps you go from a high-level task description to a structured flowchart and generated code. It uses Amazon Nova models via the OpenAI client to:

  • turn a task description into a software structure (flowchart JSON)
  • generate code step-by-step from that structure
  • enrich an AST map with AI docstrings to improve downstream prompts

This project was built for the Amazon Nova Hackathon.

Features

  • Project dashboard with create/open flows
  • Canvas UI to build and visualize flowchart steps
  • AI-assisted flowchart generation from a task description
  • AI-assisted code generation per step
  • Code editor with chat and terminal panels
  • Local caching of projects and AST/flowchart files

Tech Stack

  • Python
  • PyQt6 (desktop UI)
  • OpenAI Python SDK (configured for Amazon Nova)
  • python-dotenv

Setup

  1. Create and activate a virtual environment (optional but recommended).
  2. Install dependencies:
    pip install PyQt6 PyQt6-QScintilla openai python-dotenv platformdirs tree-sitter-language-pack
  3. Create a .env file (or edit the existing one) with:
    NOVA_API_KEY=your_api_key_here

Run

python main.py

How It Works (High-Level)

  • src/core/ai_helper.py sends your project description to Nova to get a flowchart JSON.
  • src/core/AstFlowchartGen.py scans the project, builds ast_map.json, adds docstrings, and can generate flowchart.json.
  • src/core/CodeGen.py runs each flowchart step, calls Nova for code, and writes/updates files.
  • src/core/Flowchart.py and src/core/Step.py manage the in-memory flowchart model.

Data Storage

Project metadata and cached AST/flowchart files are stored under %APPDATA%\SVCA\ on Windows. Generated ast_map.json and flowchart.json are also saved in the project root.

Project Structure

app/
  components/
  pages/
  style/
src/
  core/
  utils/
main.py

Notes

  • The Nova endpoints are configured through the OpenAI client with base_url="https://api.nova.amazon.com/v1".
  • If you see empty or invalid AI responses, verify NOVA_API_KEY and network access.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages