Skip to main content

Turn AI-generated Markdown or JSON into real project files

Project description

🚀 ai-scaffold

Turn AI-generated Markdown or JSON into real project files — instantly.

ai-scaffold is a lightweight CLI tool and Python library that converts AI-generated content (from ChatGPT, DeepSeek, Claude, Gemini, etc.) into a real project directory structure with actual files.

No more manual copy-paste.

No cleanup.

No broken file paths.


✨ Why ai-scaffold?

AI tools are great at generating code — but terrible at delivering it in a usable format.

This tool bridges that gap.

You give AI output (Markdown/JSON). It creates real files.


✨ Features

  • ✅ Convert AI Markdown or JSON into real files & folders
  • Multi-format Support: Works with Bold titles (**file**), Headers (### file), or Structured JSON
  • Smart Cleanup: Automatically removes emojis (📁, 📄), numbering (1.), and comments
  • Auto-Deduplication: Handles duplicate filenames by renaming them (e.g., file_2.js)
  • ✅ Supports .env, Dockerfile, config files
  • ✅ Safe overwrite handling
  • ✅ Dry-run preview mode
  • ✅ Works as CLI or Python library
  • ✅ Zero dependencies

📦 Installation

pip install ai-scaffold

Verify installation:

ai-scaffold --version

🚀 Quick Start (CLI)

1. Default Format (Bold Titles)

Best for prompts like "Use **path/to/file** for filenames".

ai-scaffold project.md

2. Header Format

Best for prompts like "Use ### path/to/file for filenames". Handles emojis and comments automatically.

ai-scaffold project.md --format 2

3. JSON Format (New!)

Best for high-precision scaffolding. Automatically detected for .json files.

ai-scaffold project.json --format 3

🧠 Supported Formats

ai-scaffold supports three common AI output styles.

Format 1: Bold Titles (Default)

Matches files wrapped in bold asterisks **...**.

Input Example:

Here is the **src/main.py** file:

```python
print("Hello")
```

Format 2: Header Titles (--format 2)

Matches files in Markdown headers (#, ##, ###).

Input Example:

### 📄 package.json (Backend)

```json
{}
```

Format 3: JSON Structure (--format 3)

Matches structured JSON data.

Input Example:

{
  "project_name": "my-app",
  "files": [
    {
      "path": "main.py",
      "content": "print('hello')"
    }
  ]
}

🤖 Recommended AI Prompt

To get perfect results, append one of these prompts to your AI request:

Option A (For Default Format)

Output code in Markdown.
IMPORTANT: Precede each code block with the filename in bold, like: **path/to/file.ext**

Option B (For Header Format)

Output code in Markdown.
IMPORTANT: Use headers for filenames, like: ### path/to/file.ext

Option C (For JSON Format)

Output the project structure in a single JSON object:
{ "project_name": "...", "files": [{ "path": "...", "content": "..." }] }

🧩 Python Library Usage

You can use ai-scaffold as a Python module.

from ai_scaffold import parse_markdown, parse_json, generate

# For Markdown
with open("project.md") as f:
    files = parse_markdown(f.read(), fmt=1)

# For JSON
with open("project.json") as f:
    files, root = parse_json(f.read())

# Generate files
generate(files, root="my_project", overwrite=False, dry_run=False)

⚙️ CLI Options

Option Description
--format 1 = Bold (default), 2 = Headers, 3 = JSON
--dry-run Preview files without writing
--overwrite Overwrite existing files
--no-interactive Disable prompts
--version Show version

🧪 Example Output

$ ai-scaffold project.json

Root folder detected: readme-builder
Use this folder? [Y/n] y
[INFO] Created: readme-builder/package.json
[INFO] Created: readme-builder/index.html
[INFO] Created: readme-builder/src/utils/generateMarkdown.js

Project successfully generated

🛡️ Safety & Stability

  • Does not execute code
  • Does not guess file paths
  • Does not hallucinate structure
  • Only uses what exists in the input

📦 Package Details

  • Name: ai-scaffold
  • CLI: ai-scaffold
  • Python import: ai_scaffold
  • Python: >= 3.8
  • License: MIT

🧭 Use Cases

  • Generate full-stack projects from DeepSeek, ChatGPT, Claude, Gemini, etc
  • Convert AI answers into real repos
  • Automate scaffolding
  • Developer productivity tooling
  • AI-assisted coding workflows

📜 License

MIT License — free for personal & commercial use.


❤️ Author Note

This tool exists because AI should build projects, not just talk about them.

If you find this useful — ⭐ star the repo, share it, or build on top of it.

Happy scaffolding 🚀

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ai_scaffold-1.0.0.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ai_scaffold-1.0.0-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file ai_scaffold-1.0.0.tar.gz.

File metadata

  • Download URL: ai_scaffold-1.0.0.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ai_scaffold-1.0.0.tar.gz
Algorithm Hash digest
SHA256 6cfcc6ef44400bd8640d10a29ea8c5e17fa6d3eefb1ca03ca8b6289d3b63b05c
MD5 1d02c4b9a2689183f1242c481a639e48
BLAKE2b-256 89b844be5a886a19ba76d1c5a26aa86a4583271ae0f0f20d85f4da6c58b12d00

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_scaffold-1.0.0.tar.gz:

Publisher: python-publish.yml on nrfalahsa/ai-scaffold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ai_scaffold-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: ai_scaffold-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 7.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ai_scaffold-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 94fc39bcc814d1bfcf1760b4a4318ac97dbad782e209b5e415b52f5f2f6c0f5e
MD5 08d1f217106cee54d89ce8836f5d5099
BLAKE2b-256 001789184f44a6277d915bfb30f1e75e26c8d349724d12fd43cd56ec8d93b53c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_scaffold-1.0.0-py3-none-any.whl:

Publisher: python-publish.yml on nrfalahsa/ai-scaffold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page