Let the AI Set Things Up
What you'll learn
~15 min- Understand what 'scaffolding' means and why it used to be the hardest part of development
- Write a clear scaffolding prompt that describes what you want (not how to build it)
- Verify that an AI-generated project has the right structure and key files
- Apply the vision-then-verification workflow to any project type
By the end of this lesson, you’ll be able to describe a project to an AI CLI tool and get back a complete, working foundation — then verify that it built what you asked for.
The Mental Model: Hiring a General Contractor
Imagine you want to renovate your kitchen. You do not need to know how to run electrical wiring, install plumbing, or frame walls. You hire a general contractor, describe what you want (“an open layout with an island, gas range, and pantry”), and they handle the implementation.
AI scaffolding works the same way. You are the homeowner with the vision. The AI is the contractor with the skills. Your job is to clearly describe what you want and then inspect the work when it is done.
What makes a good homeowner (orchestrator):
- Clear about what they want (“I need a kitchen island with seating for four”)
- Inspects the work (“Are the outlets where I asked for them?”)
- Gives feedback (“Move the pantry to the other wall”)
What they do NOT need to know:
- How to read a wiring diagram
- Building code specifications
- Plumbing pipe sizing calculations
The Liberating Truth
Here is a sentence that would have been absurd five years ago and is completely true today:
You can get started without mastering setup details. Over time, learning some setup basics will help you debug and customize faster.
Setting up a new project used to be the hardest part of development. Choose a framework, configure the build tools, set up testing, configure linting, create the folder structure, install dependencies, wire up the database… Each step required specialized knowledge and could take hours of debugging.
Now? You describe what you want, and the AI does all of it.
Scaffolding = Letting the AI Build the Foundation
“Scaffolding” means creating the initial structure of a project — the folders, configuration files, starter code, and dependencies. It is the construction equivalent of pouring the foundation and framing the walls.
Here is what scaffolding looks like with an AI CLI tool (such as Claude Code, Gemini CLI, or your preferred tool). Open your tool, navigate to the folder where you want the project, and paste a prompt like this:
Create a new web application with these specs:- Astro framework with React components- Tailwind CSS for styling- Dark theme- A homepage with a hero section- A navigation bar with Home, About, and Contact links- TypeScript for type safetyThe AI will:
- Create the project folder
- Initialize
package.json - Install all dependencies
- Create the Astro configuration
- Set up Tailwind with the dark theme
- Create the layout with navigation
- Create the homepage with hero section
- Set up TypeScript configuration
All from one prompt. What would take a developer 30-60 minutes of setup takes 2-3 minutes.
The Key Insight
You do not need to understand:
- How Tailwind’s configuration file works
- What
astro.config.mjsdoes internally - How TypeScript compilation is configured
- What PostCSS is or why it is there
You need to understand:
- What you want to build (a website with specific features)
- What it should look like (dark theme, clean design)
- What technologies to use (Astro, React, Tailwind — or let the AI choose)
The AI handles the implementation details. You handle the vision and verification.
If you do not have a preference, it is totally fine to say “Build me a personal portfolio website. Choose whatever tech stack makes sense.” The AI will pick reasonable defaults. As you gain experience, you’ll develop opinions about tools and frameworks — then you can be more specific.
Worked Example: From Idea to Running Project
Let’s walk through a complete scaffolding interaction from start to finish.
Step 1: Write your prompt. Open your AI CLI tool (such as Claude Code, Gemini CLI, or your preferred tool) in the folder where you want the project. Be specific about what you want, not how to build it:
Create a research lab website for the Chen Computational Biology Lab with:
Pages:- Homepage with lab mission, recent news (3 items), and featured publication- Team page showing PI and 4 grad students with photos and bios- Publications page with a searchable, filterable list- Contact page with office location and a simple form
Design:- Dark theme, professional and academic feel- University-style navigation bar- Mobile-friendly
Tech: Astro with Tailwind CSSInclude placeholder content that I can easily find and replace.Step 2: Verify the output. After the AI finishes, check the structure:
ls -la(Windows Command Prompt users: use dir instead of ls -la. In WSL, PowerShell, or Git Bash, ls works normally.)
You should see the key files: package.json, README.md, .gitignore, astro.config.mjs, and a src/ folder.
ls src/pages/You should see files matching your four requested pages: index.astro, team.astro, publications.astro, contact.astro.
Step 3: Run it and check.
npm run dev(Running npm commands requires Node.js. If you get “command not found,” see Module 6, Lesson 1 for install instructions — or just ask your AI tool: “How do I install Node.js on my system?”)
Open the URL printed in your terminal (for example, localhost:4321 for Astro, or localhost:5173 for Vite — the exact port depends on your framework). Click through every page. Does the navigation work? Are there four pages? Is the dark theme applied?
Step 4: Give feedback. If something is not right:
The team page is showing team members in a list. I want a grid layoutwith photo cards -- 2 columns on mobile, 4 on desktop. Each card shouldhave a headshot, name, role, and a one-line research interest.This is the orchestration loop: describe, verify, refine.
🧬In Your Field: Biotechclick to expand
Prompt bank for bioinformatics projects:
Lab inventory tracker:
Create a lab inventory web app where I can:- Add reagents with name, catalog number, quantity, expiration date, and storage location- Search and filter the inventory- See items expiring within 30 days highlighted in amber- Export the full inventory as CSVUse React with Vite. Dark theme. Store data in localStorage.Sequence analysis dashboard:
Create a bioinformatics dashboard that:- Accepts a FASTA file upload or pasted sequence- Displays sequence length, GC content, and base composition chart- Shows a simple quality visualizationUse React, Vite, and Chart.js. Dark theme with a clean scientific look.Include a sample sequence for demonstration.These prompts describe what you need in domain terms. The AI translates that into code.
🏛️In Your Field: Government / State Devclick to expand
Prompt bank for government/public sector projects:
Public records search interface:
Create a searchable directory for public services with:- Search bar with auto-suggest- Filter by category (permits, licenses, vital records, benefits)- Results showing office name, address, phone, hours- Mobile-friendly for citizens on phones- Accessibility: Target WCAG 2.1 AA (proper contrast, ARIA labels, keyboard nav) -- then validate with accessibility testing tools and manual keyboard/screen-reader checksUse Astro with Tailwind. Professional, clean design.Include 10 sample service entries as mock data.Internal status dashboard:
Create an internal project status dashboard with:- Card view showing each project with name, lead, status (on-track/at-risk/delayed), and completion percentage- Filter by department and status- A summary bar chart showing project counts by statusUse React with Vite. Dark theme. Mock data for 15 projects across 4 departments.Note the accessibility requirement in the first prompt — for public-facing government tools, this is not optional. Include it explicitly so the AI bakes it in from the start.
🎯In Your Field: All Tracksclick to expand
Beyond web apps: Python CLI tool scaffold
You can scaffold non-web projects too. Here is a prompt for a Python CLI data analyzer:
Create a Python CLI tool called csv-analyzer that:- Accepts a CSV file path as a command-line argument- Prints summary statistics (row count, column types, missing values)- Generates a bar chart of the most frequent values in a chosen column- Saves the chart as a PNG file- Uses argparse for CLI arguments, pandas for data, matplotlib for chartsStructure: src/ folder with separate modules for loading, analysis, and visualization.This follows the same scaffolding pattern: describe what you want, not how to build it. The AI handles the Python packaging, argparse setup, and matplotlib configuration.
Real Examples
Example 1: Blog
Prompt:
Create a blog using Astro with:- Markdown content in a content/ folder- Homepage showing recent posts- Individual post pages- Dark theme with good typography- Tags on postsWhat the AI creates:
my-blog/├── src/│ ├── content/posts/│ │ ├── first-post.md│ │ └── second-post.md│ ├── layouts/│ │ └── BlogLayout.astro│ ├── pages/│ │ ├── index.astro│ │ └── posts/[slug].astro│ └── styles/global.css├── astro.config.mjs├── tailwind.config.mjs└── package.jsonA complete blog. Ready to customize. (Your exact file structure may differ slightly depending on the AI tool and model — verify the required pages and features are present rather than expecting identical filenames.)
Example 2: Dashboard
Prompt:
Create a data dashboard with:- React + Vite- A sidebar navigation- Three pages: Overview, Analytics, Settings- Charts using a charting library- Mock data for demonstration- Dark themeExample 3: API Server
Prompt:
Create a REST API with:- Node.js and Express- Endpoints for users (CRUD)- SQLite database- Input validation- Error handling- Basic test suiteIn each case, the AI builds the complete scaffolding and initial functionality. Your job is to refine, customize, and extend.
The Orchestrator’s Advantage
Here is why this matters so much:
Without AI scaffolding:
- “I want to build X” —> days or weeks of learning before you can start —> many people quit
With AI scaffolding:
- “I want to build X” —> AI creates a working scaffold in minutes —> you start customizing immediately —> you learn by doing
This flips the entire learning model. Instead of learning theory first and building later, you build first and learn the theory as needed. When you see the code the AI generates, you naturally start understanding patterns. When something breaks, you learn debugging. When you need a feature, you learn the relevant concept.
The AI just generated an entire project from your description. If that feels wrong — like you skipped the hard part — reconsider what “the hard part” actually is. Writing boilerplate config files isn’t the hard part. Knowing what to build, describing it clearly, and verifying the result is right? That’s the hard part. That’s orchestration. You didn’t skip anything — you did the part that matters.
Setting up project memory
Right after scaffolding a project is the best time to create a project memory file — a document the AI reads automatically at the start of every session.
In Claude Code, type /init and the AI will scan your freshly scaffolded project and generate a CLAUDE.md file with an overview of the structure, key paths, and suggested conventions. Review it and adjust to match your preferences.
For other tools, create the equivalent file manually:
- Copilot:
.github/copilot-instructions.md - Cursor:
.cursorrulesin your project root - Other tools: Check your tool’s documentation for the current convention. If your tool does not support automatic memory files, keep a
PROJECT_NOTES.mdand paste the relevant context at the start of each session.
Add your project’s purpose, naming conventions, and anything the AI should know across sessions. A few lines is enough to start. Tool-specific conventions can change between versions, so verify with your tool’s docs if something is not working.
The structure is fresh, the conventions are established, and the AI can capture them accurately. Waiting until later means you have to reconstruct context that already existed.
When Things Go Wrong
When Things Go Wrong
Use the Symptom → Evidence → Request pattern: describe what you see, paste the error, then ask for a fix.
Key Takeaways
- Scaffolding is letting the AI create the entire project foundation — folders, config files, starter code, dependencies — from a single prompt
- You are the homeowner, not the contractor: describe what you want, inspect the result, give feedback
- A good scaffolding prompt describes what (pages, features, design) not how (webpack config, CSS reset, TypeScript settings)
- Always verify after scaffolding: check the file structure with
ls, run the project withnpm run dev, and click through every page - The orchestration loop is describe, verify, refine — repeat until it matches your vision
🔍What if the AI picks a tech stack you don't want?
Sometimes the AI will default to a stack you have not heard of or do not want. You can always be explicit: “Use Astro, not Next.js” or “Use plain JavaScript, not TypeScript.” If the AI already created the project with the wrong stack, you have two options: (1) ask it to convert the project (“Convert this from Next.js to Astro”), or (2) start fresh with a more specific prompt. Starting fresh is usually faster for major tech stack changes.
What's the most important thing you need to know to scaffold a project with an AI tool?
After the AI scaffolds your project, what should you do first?