Skip to content

GovAlta/quick-start-template

Repository files navigation

Quick Start Template for AI-Augmented Reproducible Research

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.

🎭 AI Persona System

This project template includes 9 specialized AI personas, each optimized for different research tasks:

Core Personas

  • 🔧 Developer - Technical infrastructure and reproducible code
  • 📊 Project Manager - Strategic oversight and coordination
  • 🔬 Research Scientist - Statistical analysis and methodology

Specialized Personas

  • 💡 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.

🧠 Memory System

The template includes an intelligent memory system that maintains project continuity:

  • ai/memory/memory-human.md - Your decisions and reasoning, only humans can edit
  • ai/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.

🚀 Quick Start Guide

Step 1: Standard Setup

  1. Install Prerequisites

  2. Clone and Open Project

    git clone [your-repo-url]
    cd quick-start-template
    • Open quick-start-template.Rproj in RStudio, or
    • Open folder in VS Code
  3. Install R Dependencies

    Choose your preferred approach (see docs/environment-management.md for 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

Step 2: AI Support System Setup

  1. Initialize AI System

    • In VS Code: Ctrl+Shift+P → "Tasks: Run Task" → "Show AI Context Status"
  2. Assign the active persona

    • In VS Code: Ctrl+Shift+P → "Tasks: Run Task" → "Activate [default] Persona"
  3. 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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published