cool-git

bySharukh Khan

You are a senior Product Manager, AI Learning Designer, UX Architect, and Full-Stack System Architect specializing in developer education platforms. Your task is to design a COMPLETE, production-ready, scalable AI-powered web application that teaches Git and GitHub in the most intuitive, beginner-friendly, and practical way possible. This platform MUST prioritize “learning by doing” through live hands-on labs, real command execution (if feasible), intelligent feedback, and interactive visualizations. ----------------------------------- 🎯 PRIMARY OBJECTIVE ----------------------------------- Build a web-based learning platform where users: - Learn Git & GitHub from scratch to intermediate level - Practice using real or simulated Git environments - Gain confidence through guided exercises and real-world workflows - Receive AI-driven feedback, hints, and explanations ----------------------------------- 👥 TARGET USERS ----------------------------------- - Beginners (students, self-learners) - Intermediate developers struggling with Git workflows - Users who prefer hands-on learning over theory - Must support desktop-first, mobile-responsive experience ----------------------------------- 🧠 CORE LEARNING OUTCOMES ----------------------------------- Users must be able to: - Initialize and manage repositories (init, add, commit, status, log) - Understand staging vs committing - Work with branches (create, switch, delete) - Merge and resolve conflicts - Understand rebase vs merge (simplified) - Work with remotes (push, pull, fetch) - Collaborate using GitHub (PRs, issues, reviews) - Debug common errors (merge conflicts, detached HEAD, lost commits) ----------------------------------- 🧪 LIVE PRACTICAL SYSTEM (CRITICAL) ----------------------------------- Design a hands-on lab system where users: - Execute Git commands in-browser - Work on real or simulated repositories - See file system + commit graph updates in real-time - Receive instant automated grading + feedback - Get AI-generated hints when stuck You MUST propose 3 approaches: 1. Container-based sandbox (Docker/Kubernetes) 2. WebAssembly or simulated Git engine 3. Hybrid approach Include: - Resource limits (CPU/memory/time) - Security isolation (no host access) - No secret leakage - Controlled or no external network ----------------------------------- 🤖 AI TUTOR SYSTEM ----------------------------------- Design an intelligent AI tutor that: - Explains Git concepts in simple language - Uses analogies and step-by-step breakdowns - Diagnoses errors from terminal output - Provides hints (not just answers) - Adapts to user skill level Define clearly: ✔ What AI CAN do ✔ What AI MUST NOT do (no unsafe/destructive guidance) Include: - Prompting strategy - Socratic questioning - Grounding using lab state (NO hallucination) - Fallback mode if AI is unavailable ----------------------------------- 🎮 ENGAGEMENT & UX FEATURES ----------------------------------- Include: - Gamification (XP, badges, streaks, levels) - Interactive micro-lessons - “Try it yourself” buttons - Guided walkthrough mode - Error simulation mode (merge conflicts, wrong commits, etc.) UI Requirements: - Clean modern UI (inspired by VS Code + Notion) - Dark mode default - Split screen: - Left: Instructions - Right: Terminal / Visualizer - Smooth animations (branching, merging) - Beginner-friendly design ----------------------------------- 📊 VISUAL LEARNING SYSTEM ----------------------------------- Must include: - Commit graph visualization (DAG) - Branch timeline - File change viewer (diffs) - Before/after repo state comparison - Animated Git operations ----------------------------------- 📚 LEARNING SYSTEM ----------------------------------- Include: - Structured learning paths (Beginner → Advanced) - Course modules + lessons + labs - Practice challenges (real-world scenarios) - Command reference guide - Glossary of terms - Common mistakes section - Optional quizzes / spaced repetition ----------------------------------- 🔗 GITHUB INTEGRATION (OPTIONAL BUT DESIGN) ----------------------------------- - OAuth login - Practice with real repositories (sandboxed) - PR workflow simulation or real - Issue tracking basics ----------------------------------- 📦 REQUIRED OUTPUT FORMAT ----------------------------------- You MUST generate the following sections: A) Product Requirements Document (PRD) - Problem, users, use cases, differentiators, success metrics B) Full Feature List - MVP vs Full Version - Categorized (learning, labs, AI, analytics, etc.) C) User Stories & Journeys - Onboarding - Completing labs - Fixing errors - Using AI tutor - Practicing PR workflow D) System Architecture - Frontend (pages/components) - Backend services - Lab execution system - AI integration - API design - Deployment plan E) Data Model (Schema) - Users, courses, labs, attempts - Sandbox sessions - Command logs - AI interactions - Progress tracking F) LIVE LAB SPEC (Minimum 6 Labs) Each lab must include: - Goal - Starting state - Expected commands - Validation logic - Failure cases + hints - Success criteria Must include: - Commit basics - Branching - Merging - Conflict resolution - Remote push/pull - PR workflow G) AI Tutor Design - Capabilities - Restrictions - Prompt design - Error handling - Hint generation logic H) UX & Visualization Design - Layout - Components - Interactions - Animation behavior I) Security & Abuse Prevention - Sandbox isolation - Rate limiting - Prompt injection handling - Logging/auditing J) Roadmap & Timeline - MVP plan (realistic timeline) - Phases - Risks + mitigation ----------------------------------- ⚙️ TECH STACK (SUGGESTED) ----------------------------------- Frontend: - React / Next.js - Tailwind CSS - Framer Motion Backend: - Node.js / Express / Next API AI: - OpenAI API Lab Engine: - isomorphic-git OR containerized Git Database: - PostgreSQL or MongoDB ----------------------------------- 🧠 INTELLIGENCE FEATURES ----------------------------------- - Detect user mistakes in commands - Suggest corrections - Explain WHY errors happen - Generate custom labs dynamically - Adaptive difficulty system ----------------------------------- 🚀 BONUS FEATURES ----------------------------------- - Real-time collaboration (pair learning) - Voice AI tutor - Offline mode (PWA) - Mini code editor (VS Code-like) - Open-source contribution guide ----------------------------------- ❓ CLARIFYING QUESTIONS ----------------------------------- Ask up to 10 important questions before finalizing. If no answers are provided, proceed with clearly stated assumptions. ----------------------------------- ✅ FINAL OUTPUT REQUIREMENTS ----------------------------------- After all sections, include: - Recommended MVP scope (exact features) - Must-have vs nice-to-have features - Checklist to validate lab grading engine ----------------------------------- IMPORTANT: Focus on REAL interactivity, not just theory. Prioritize hands-on labs and user understanding. Ensure the design is scalable and production-ready.

No preview

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document

System Requirements Document (SRD)

Project Name: cool-git

1. Introduction

The cool-git project is an AI-powered, interactive web application designed to teach Git and GitHub in the most intuitive, beginner-friendly, and practical way possible. This platform prioritizes "learning by doing" through live hands-on labs, real command execution, intelligent feedback, and interactive visualizations.

The goal is to empower users in India and globally to confidently use Git and GitHub, from basic commands to intermediate workflows, while making the learning process engaging and accessible.

Page 1 of 7

2. System Overview

The cool-git platform will provide:

  • A web-based learning environment with hands-on labs for Git and GitHub.
  • AI-driven guidance to explain concepts, diagnose errors, and provide hints.
  • Interactive visualizations to demonstrate Git operations like branching, merging, and commit history.
  • Gamification features to motivate users through XP, badges, and progress tracking.
  • A clean, modern UI optimized for desktop-first but responsive for mobile devices.

The system will consist of:

  1. Frontend: A React-based interface for user interaction.
  2. Backend: A Python FastAPI server for lab execution, AI integration, and progress tracking.
  3. Lab Engine: A hybrid approach using containerized environments (Docker/Kubernetes) and WebAssembly for scalability.
  4. AI Tutor: Powered by GPT 5.4 for user-friendly responses and Claude 4.6 Opas for coding assistance.

3. Functional Requirements

Page 2 of 7

As a User:

  • I should be able to learn Git concepts through structured lessons.
  • I should be able to execute Git commands in a live, interactive terminal.
  • I should receive instant feedback on my commands and progress.
  • I should be able to visualize Git operations like branching and merging.
  • I should earn XP and badges for completing lessons and labs.
  • I should be able to resolve simulated Git errors like merge conflicts.

As an Admin:

  • I should be able to create and manage course content, labs, and challenges.
  • I should be able to monitor user progress and engagement metrics.

4. User Personas

1. Beginner

  • Description: Students or self-learners with no prior Git experience.
  • Goals: Learn Git basics, understand workflows, and gain confidence.
  • Pain Points: Overwhelmed by Git's complexity, lack of hands-on practice.
Page 3 of 7

2. Intermediate Developer

  • Description: Developers struggling with advanced Git workflows.
  • Goals: Master branching, merging, and collaboration workflows.
  • Pain Points: Difficulty resolving conflicts, understanding rebase vs merge.

3. Admin

  • Description: Course creators and platform managers.
  • Goals: Create engaging content, monitor user progress, and ensure platform quality.

5. Visuals Colors and Theme

Unique Color Palette for cool-git:

  • Background: #1A1A2E (Deep Navy Blue)
  • Surface: #16213E (Dark Blue)
  • Text: #EAEAEA (Light Gray)
  • Accent: #F05454 (Bright Coral Red)
  • Muted Tones: #6C757D (Muted Gray)

This palette reflects a modern, professional, and developer-friendly aesthetic while maintaining high contrast for readability.

6. Signature Design Concept

Page 4 of 7

Interactive Commit Graph Universe

The homepage will feature a 3D interactive commit graph that resembles a galaxy. Each commit is represented as a glowing star, and branches are visualized as constellations.

  • User Interaction: Users can click on stars (commits) to view details, such as commit messages and file changes.
  • Animations: Smooth zooming and panning as users explore the graph. Branch merges will animate as shooting stars connecting constellations.
  • Color Shifts: The graph will subtly change colors based on the time of day (e.g., warm tones in the morning, cool tones at night).
  • Micro-Interactions: Hovering over a commit will display a tooltip with key details.

This design will make the platform visually stunning and immediately engaging, setting it apart from traditional learning tools.

7. Non-Functional Requirements

  • Performance: The system must handle 1,000 concurrent users with minimal latency.
  • Scalability: The lab engine must scale dynamically using Kubernetes.
  • Security: Sandbox environments must isolate user sessions to prevent unauthorized access.
  • Accessibility: The platform must comply with WCAG 2.1 standards.
  • Localization: Support for English and Hindi languages.

8. Tech Stack

Page 5 of 7

Frontend

  • React for Web
  • Tailwind CSS for styling
  • Framer Motion for animations

Backend

  • Python with FastAPI

Database

  • MySQL for relational data
  • MongoDB for NoSQL needs

AI Models

  • GPT 5.4 for user-friendly responses
  • Claude 4.6 Opas for coding assistance

Lab Engine

  • Docker for containerized environments
  • Kubernetes for orchestration
Page 6 of 7

9. Assumptions and Constraints

  • Users will have stable internet connections.
  • The platform will primarily target desktop users but remain mobile-responsive.
  • Resource limits for labs: 2 vCPUs, 4GB RAM per session.
  • AI responses must be grounded in the lab state to avoid hallucinations.

10. Glossary

  • Git: A distributed version control system.
  • Commit: A snapshot of changes in a repository.
  • Branch: A parallel version of a repository.
  • Merge: Combining changes from one branch into another.
  • Rebase: Reapplying commits on top of another base branch.
  • PR (Pull Request): A request to merge changes into a repository.

This document provides a comprehensive foundation for the cool-git project. Let me know if you'd like to proceed with the next steps, such as detailed architecture or implementation planning! 😊

Page 7 of 7

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

No user flows yet.

The User Flow Agent will generate per-persona navigation diagrams after SRD updates.

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

No user flows yet.

The User Flow Agent will generate per-persona navigation diagrams after SRD updates.