Appendix 12: Machine Coding: Pre-Prompt Checklist
✅ Pre-Prompt Checklist: Define Your App Before the AI Builds It
Use this checklist to clarify your thinking before engaging the AI in coding your tool or app.
flowchart TD
Start([💡 App Idea]) --> A[🧱 Data Design<br>Tables, flow, storage]
A --> B[🛠️ Technical Foundations<br>CLI/Web, language, framework]
B --> C[🔐 Configuration & Secrets<br>.env, config wrapper]
C --> D[🧠 Intelligence Layer<br>Models, local/API]
D --> E[📦 Embeddings & Search<br>Vector search, embedding model]
E --> F[📥 Input Handling<br>Format, batch support]
F --> G[📤 Output Handling<br>Console, file, DB]
G --> H([✅ Ready to Prompt AI])
style Start fill:#e1f5fe,stroke:#333
style A fill:#fff3e0,stroke:#333
style B fill:#e8f5e9,stroke:#333
style C fill:#fce4ec,stroke:#333
style D fill:#f3e5f5,stroke:#333
style E fill:#fff9c4,stroke:#333
style F fill:#e0f7fa,stroke:#333
style G fill:#c8e6c9,stroke:#333
style H fill:#4caf50,stroke:#333,color:#fff
🧱 Data Design
- Have you defined your core tables or data structure?
- Do you know how your data flows through the app — from input to output?
- Have you considered how you’ll store, retrieve, and update records?
🛠️ Technical Foundations
- Will this be a CLI, Web App, or something else?
- What’s your preferred language and framework (e.g., Python + FastAPI)?
- Are you using an ORM (e.g., SQLAlchemy), or sticking with dataclasses + raw SQL?
- Will you manage schema with migrations, a
.sqlfile, or something else?
🔐 Configuration & Secrets
- Do you want to use a
.envfile for secrets and environment variables? - Is there a configuration wrapper class you plan to use?
🧠 Intelligence Layer
- Which model(s) will power your AI interactions? (e.g.,
qwen:2.5,mxbai-embed-large) - Will you use local models (e.g., Ollama) or API-based models?
📦 Embeddings & Search
- Do you plan to use vector search (e.g.,
pgvector)? - Have you chosen an embedding model, and do you know the expected dimension size?
📥 Input Handling
- What is the input format for your app? (e.g., Markdown file, CLI args, JSON payload)
- Do you want to support batch processing, or just single sessions?
📤 Output Handling
- What should your app output? (e.g., print to console, write to file, store in DB)
- Do you need to track results in a database or results log?