No one beginning a data science project should start from a blinking cursor.
...Templatization is a best practice for things like using common directory structure across projects...
-Megan Risdal Kaggle Product Lead.
This template provides a comprehensive foundation for AI-augmented reproducible research projects. It combines the best practices of reproducible research with AI support infrastructure, which levereges generative LLMs and agent customization to construct and manage analytic pipelines.
This project template includes 9 specialized AI personas, each optimized for different research tasks:
- 🔧 Developer - Technical infrastructure and reproducible code
- 📊 Project Manager - Strategic oversight and coordination
- 🔬 Research Scientist - Statistical analysis and methodology
- 💡 Prompt Engineer - AI optimization and prompt design
- ⚡ Data Engineer - Data pipelines and quality assurance
- 📈 Grapher - Data visualization and display of informatioin
- 📝 Reporter - Analysis communication and storytelling
- 🚀 DevOps Engineer - Deployment and operational excellence
- 🎨 Frontend Architect - User interfaces and visualization
You can switch between personas in VSCode:
Ctrl+Shift+P→ "Tasks: Run Task" → "Activate [Persona Name] Persona"- Instruct the chat agent to switch to the specific persona you name
You can define persona's default context in get_persona_configs() function of ai/scripts/dynamic-context-builder.R:
"project-manager" = list(
file = "./ai/personas/project-manager.md",
default_context = c("project/mission", "project/method", "project/glossary")
)You can define what context files get a shortcut alias, so they can be integrated into the chat calls easily. See get_file_map() function in ai/scripts/dynamic-context-builder.R.
The template includes an intelligent memory system that maintains project continuity:
ai/memory/memory-human.md- Your decisions and reasoning, only humans can editai/memory/memory-ai.md- AI-maintained technical status, only AI can edit- `ai/memory/log/YYYY-MM-DD.md - dedicated folder in which one file = one log entry. Helps to isolate large changes to a single file for easier tracking.
-
Install Prerequisites
-
Clone and Open Project
git clone [your-repo-url] cd quick-start-template- Open
quick-start-template.Rprojin RStudio, or - Open folder in VS Code
- Open
-
Install R Dependencies
Choose your preferred approach (see
docs/environment-management.mdfor detailed comparison):Option A: Enhanced CSV System (Default - Flexible)
# Enhanced system with version constraints Rscript utility/enhanced-install-packages.R # Or original system (backward compatible) Rscript utility/install-packages.R
Option B: renv (Strict Reproducibility)
# For exact reproducibility (research publication) Rscript utility/init-renv.R
Option C: Conda (Cross-Language Projects)
# For R + Python workflows conda env create -f environment.yml conda activate quick-start-template
-
Initialize AI System
- In VS Code:
Ctrl+Shift+P→ "Tasks: Run Task" → "Show AI Context Status"
- In VS Code:
-
Assign the active persona
- In VS Code:
Ctrl+Shift+P→ "Tasks: Run Task" → "Activate [default] Persona"
- In VS Code:
-
Customize Your Project
Each personal could be customized by adding specific documents to the dynamic part of the copilot-instructions.md (Section 3). Some personas may have some documents loaded by default (e.g. Project Manager and Grapher load mission, method, and glossary).
- Edit
ai/mission.md- What you wan to do: goals and deliverables - Edit
ai/method.md- How you want to do it: tecniques and processes - Edit
ai/glossary.md- Encyclopedia of domain-specific terms - Update
config.yml- To set project-specific configurations