A unified system for managing project quality, standards, and development environment consistency across all your projects.
β οΈ MAJOR TRANSITION NOTICE: This project has evolved from a "Developer Setup Guide" to a professional "Project Quality Controller" system. See CHANGELOG.md for full transition details.
Start is your Project Quality Controller that ensures consistency, quality, and standards across all your development projects. Think of it as your "project factory and quality control center" that helps you:
- ποΈ Bootstrap new projects with your preferred standards (Phase 002)
- β Audit existing projects for quality compliance
- π Manage development tools (NVM, Oh My Zsh, system packages)
- π Enforce project standards across all your repositories
- π€ Coordinate AI assistants (Claude, Gemini, Copilot) with unified instructions
MANDATORY: All Python projects managed by Start must use UV-ONLY development practices.
# β
CORRECT - Always use UV
uv pip install package-name
uv run python script.py
uv run pytest
# β FORBIDDEN - Never use pip directly
pip install package-name
python script.py
pytest# Check system status and health
python3 cli/start.py status
# Update development tools (NVM, Oh My Zsh)
python3 cli/start.py system update
# Audit a project for quality compliance
python3 cli/start.py audit --project /home/kkk/Apps/mcp-manager
# Monitor all your project repositories
python3 cli/start.py system projects
# List available project templates (Phase 002)
python3 cli/start.py templates liststart/ # Project Quality Controller
βββ cli/ # π₯οΈ Command-line interface
β βββ start.py # Main CLI with extensible commands
βββ scripts/ # π οΈ System management automation
β βββ system-update.sh # Enhanced dev tools updater
βββ standards/ # π Quality standards & requirements
β βββ agents-md.template # AGENTS.md structure requirements
β βββ project-structure.yaml # Required files and organization
β βββ python-uv-requirements.yaml # UV-first enforcement rules
βββ validators/ # β
Compliance checking tools
β βββ structure_validator.py # Project structure validation
β βββ uv_validator.py # UV-first compliance checking
βββ templates/ # π Project templates (Phase 002 ready)
β βββ python-project/ # UV-compliant Python template
βββ docs/ # π Implementation documentation
β βββ phase-001-completion.md # Phase 001 status report
βββ AGENTS.md # π€ Unified AI assistant instructions
βββ CLAUDE.md β AGENTS.md # π Claude Code compatibility symlink
βββ GEMINI.md β AGENTS.md # π Gemini CLI compatibility symlink
# Check all systems for updates
python3 cli/start.py system check
# Update development tools (NVM, Oh My Zsh)
python3 cli/start.py system update
# Monitor project repositories for changes
python3 cli/start.py system projects# Show overall system status
python3 cli/start.py status
# Audit project quality and compliance
python3 cli/start.py audit --project /path/to/project
# List available templates (Phase 002)
python3 cli/start.py templates list# Create properly named feature branch
BRANCH_NAME="$(date +%Y%m%d-%H%M%S)-feat-your-feature"
git checkout -b $BRANCH_NAME
# Complete development workflow
git add . && git commit -m "feat: your changes"
git push -u origin $BRANCH_NAME
gh pr create --title "feat: Brief description"
# After merge (branch preserved permanently)
git checkout main && git pull origin main- Project Quality Controller CLI - Complete command system
- UV-First Python Enforcement - Mandatory compliance validation
- Enhanced System Management - NVM, Oh My Zsh, project monitoring
- Quality Standards Framework - Extensible validation system
- Git Workflow Standards - Branch naming and preservation strategy
- Multi-AI Integration - Unified instructions for all assistants
- Template Foundation - Ready for Phase 002 expansion
- spec-kit Integration - Enhanced automation capabilities
- Project Bootstrapping - Automated creation from templates
- Cross-Project Sync - Standards enforcement across repositories
- Advanced Validation - Complete project lifecycle management
- β AGENTS.md Files - Required in all projects for AI assistant instructions
- β Git Compliance - YYYYMMDD-HHMMSS-type-description branch naming
- β Branch Preservation - NO branch deletion allowed (complete history retention)
- β Project Structure - Consistent file organization and documentation
- β
UV-Only Operations - All
pipcommands must beuv pip - β System Python3 - No pyenv, conda, or custom Python installations
- β pyproject.toml Only - No requirements.txt, setup.py, setup.cfg allowed
- β
UV Virtual Environments - Use
uv venv .venvexclusively - β
Command Prefixing - All execution must use
uv run
Start began as a Developer Setup Guide with step-by-step Ubuntu environment configuration:
- Ubuntu system optimization
- Git and GitHub configuration
- Development tools installation
- AI assistant setup guides
- First project creation
Start is now a Project Quality Controller focused on:
- Project standards enforcement
- Quality compliance validation
- Development environment management
- Multi-project consistency
- AI assistant coordination
The original setup guide content will be preserved and enhanced in dedicated repositories:
Purpose: Ubuntu system optimization and clean installation
# Will contain:
- Snap removal procedures
- Native Firefox installation
- Essential development packages
- Performance tuning guidesPurpose: Complete development environment setup
# Will contain:
- Git configuration and SSH setup
- NVM and Node.js installation
- VS Code configuration
- Shell and terminal optimizationPurpose: AI assistant installation and configuration
# Will contain:
- Claude Code setup and configuration
- Gemini CLI installation guide
- GitHub Copilot CLI setup
- MCP server configuration- β Clear Professional Focus - Pure project quality controller
- β Enhanced Maintainability - Focused scope and functionality
- β Phase 002 Readiness - Clean foundation for spec-kit integration
- β Scalable Architecture - Extensible for enterprise use
- β Specialized Repositories - Each guide becomes dedicated resource
- β Independent Development - Can evolve without coupling
- β Better Discoverability - Users find specific guides easily
- β Community Reusability - Others can fork/contribute to specific areas
- β Repository Clarity - Each project has well-defined purpose
- β Quality Standardization - Consistent standards across all projects
- β Professional Organization - Clear separation of concerns
- β Cross-Repository Validation - Start can audit the setup repositories too
- β Phase 001 Complete - Core quality controller operational
- β
Setup Directories Present -
01-ubuntu-setup/through05-your-first-project/ - β³ Migration Pending - Setup content will move to dedicated repositories
- π Dual Purpose - Currently serving both roles during transition
- Immediate Use - All quality controller functions available now
- Setup Content Access - Original guides remain accessible during transition
- Repository Creation - New setup repositories will be created in Phase 003
- Content Migration - Setup directories will move to appropriate repositories
- Cross-References - Start will link to new setup repositories
- Quality Validation - Start will audit the new setup repositories for compliance
- Quality Controller Features - Start using CLI commands immediately
- Setup Guide Access - Continue using existing content until migration
- UV Migration Required - Update Python projects to UV-first approach
- Git Workflow Adoption - Begin using new branch naming conventions
- CHANGELOG.md - Complete transition history and breaking changes
- AGENTS.md - Unified AI assistant instructions
- docs/phase-001-completion.md - Phase 001 implementation details
Start has evolved from a setup guide into a professional project quality controller that will:
- π Phase 002: Integrate with spec-kit for enhanced automation
- π¦ Phase 003: Migrate setup content to dedicated repositories
- π Phase 004: Provide cross-repository quality management
- π Long-term: Become the foundation for consistent, high-quality project development
The transformation ensures that both the quality controller functionality and the setup guide content can evolve independently while serving their respective communities effectively.
start/ # π Project Quality Controller
βββ templates/ # π Project templates (ready for Phase 002)
βββ standards/ # π Quality standards and requirements
β βββ agents-md.template # AGENTS.md structure template
β βββ project-structure.yaml # Required files and structure
βββ scripts/ # π οΈ System management scripts
β βββ system-update.sh # Enhanced NVM/OMZ/tools updater
βββ validators/ # β
Quality compliance checking
β βββ structure_validator.py # Project structure validation
βββ cli/ # π₯οΈ Command interface
β βββ start.py # Main CLI tool
βββ docs/ # π Documentation (Phase 002)
- Enhanced Development Tools Updater: Manages NVM, Oh My Zsh updates
- Project Repository Monitoring: Checks all your Apps for updates
- System Package Awareness: Monitors system update requirements
- Structure Validation: Ensures projects have required files (AGENTS.md, README.md, etc.)
- Project Type Detection: Python, Node.js, Astro project recognition
- Quality Scoring: Percentage-based compliance measurement
- Standards Compliance: Validates against your defined quality requirements
- Template Structure: Ready for spec-kit integration
- Standards Framework: Extensible quality definitions
- CLI Interface: Expandable command system
# Check all systems for updates
python3 cli/start.py system check
# Update development tools (NVM, Oh My Zsh)
python3 cli/start.py system update
# Check project repositories for updates
python3 cli/start.py system projects# Audit single project
python3 cli/start.py audit --project /home/kkk/Apps/mcp-manager
# Show system status
python3 cli/start.py status
# List available templates (Phase 002 ready)
python3 cli/start.py templates listπ± I'm a Complete Beginner (New to the Terminal) - Click here if you've never used a command-line terminal before.
The terminal (or command line) is a powerful tool that lets you talk to your computer directly with text commands. It might look intimidating, but it's a developer's best friend! Think of it as a more direct way of doing things you might normally do with a mouse, like creating folders or opening files.
You can open the terminal on Ubuntu by pressing Ctrl+Alt+T or by searching for "Terminal" in your applications.
Now, let's get this guide onto your personal GitHub page.
-
Create a GitHub Account: If you don't have one, head over to GitHub.com and sign up. It's free and it's like a home for all your code.
-
Create a New "Repository": A repository (or "repo") is just a fancy word for a project's folder. On your GitHub account, create a new repository. You can name it something like
my-dev-setup. -
Upload This Guide to Your Repository: Now, we'll use the terminal to upload the files in this folder to your new repository. Just copy and paste each command below into your terminal, one at a time, and press Enter. We'll explain what each one does.
-
Step 1: Initialize Git This command tells your computer to start tracking this folder as a project.
git init
-
Step 2: Add all the files This command prepares all the files in this folder to be saved. The
.just means "all the files here".git add . -
Step 3: Make your first "commit" This command takes a snapshot of your files and saves it. The
-m "Initial commit"part is a message to describe what you did.git commit -m "Initial commit" -
Step 4: Set the main "branch" Think of branches like different versions of your project. This command names your main version
main.git branch -M main
-
Step 5: Connect to your GitHub repository This command creates a connection between the folder on your computer and the repository you created on GitHub. Remember to replace
<your-github-repository-url>with the URL of your new repository! You can find this URL on your repository's page on GitHub.git remote add origin <your-github-repository-url>
-
Step 6: "Push" your code to GitHub This command uploads (pushes) your saved files from your computer to your GitHub repository.
git push -u origin main
-
Great job! You've just used Git and GitHub like a pro. Now you can follow the rest of the guide from your own repository!
πͺ I'm Coming From Windows - Click here if you're comfortable with Windows but new to the Linux terminal.
You'll find the Linux terminal is a lot like Windows Command Prompt or PowerShell, but with its own set of powerful commands. Here are a few quick tips:
- Instead of
dir, you'll uselsto list files. - File paths use forward slashes (
/) instead of backslashes (\). For example:/home/user/projectinstead ofC:\Users\user\project. - Your main drive isn't
C:. Everything starts from the root directory,/.
Now, let's get this guide onto your personal GitHub page.
-
Create a GitHub Account: If you don't have one, head over to GitHub.com and sign up.
-
Create a New Repository: On your GitHub account, create a new repository. Let's call it
my-dev-setup. -
Push this Guide to Your Repository: Open the Ubuntu terminal (
Ctrl+Alt+T) and run the following commands. They work very similarly to howgitworks on Windows.-
Step 1: Initialize Git Initializes a new Git repository in the current directory.
git init
-
Step 2: Stage all files Stages all files and directories in the current path for the next commit.
git add . -
Step 3: Make your first commit Commits the staged files with a descriptive message.
git commit -m "Initial commit" -
Step 4: Set the main branch Sets the primary branch name to
main, a common convention.git branch -M main
-
Step 5: Add your remote repository Connects your local repository to the remote one on GitHub. Remember to replace
<your-github-repository-url>with your repository's URL!git remote add origin <your-github-repository-url>
-
Step 6: Push your code to GitHub Uploads your local
mainbranch to theoriginremote and sets it as the upstream branch.git push -u origin main
-
Excellent! You're all set. Now you can follow the rest of the guide from your own repository.
π I'm an Experienced User - Click here for the quick setup.
If you're familiar with Git and the terminal, here are the commands to get this repo set up under your own account.
- Create a new, empty repository on GitHub.
- Run the following commands in your local copy of this project, replacing the remote URL with your own.
git init
git add .
git commit -m "Initial commit"
git branch -M main
git remote add origin <your-github-repository-url>
git push -u origin mainOnce you've completed your first mission, you're ready to dive in! This guide is broken down into several sections, each in its own folder. Just follow them in order, and you'll be all set!
Here's a quick overview of what you'll be doing:
graph TD
A[Start Here: Your First Mission] --> B[01: Ubuntu Setup π§];
B --> C[02: Git & GitHub π];
C --> D[03: Development Tools π οΈ];
D --> E[04: AI Assistants π€];
E --> F[05: Your First Project π];
01: Ubuntu Setup π§
- Removing Snap - Clean system foundation
- Installing Firefox - Native browser setup
- Essential Packages - Development toolkit
02: Git & GitHub π
- Git Configuration - Professional Git setup
- SSH Keys - Secure authentication
- Git Aliases - Productivity shortcuts
- GitHub CLI - Command-line GitHub
03: Development Tools π οΈ
- NVM and Node.js - JavaScript ecosystem
- VS Code Setup - Your coding environment
04: AI Assistants π€
- Claude Code Setup - AI coding assistant
- Gemini CLI Setup - Google's AI helper
- Project Creation - Starting your project
- Verification Checklist - Confirm everything works
- Next Steps - Continue learning
- Understanding npm - Learn about dependencies
Last Verified: August 2025
All instructions in this guide have been verified against the latest documentation:
- β NVM v0.40.3 - Latest stable version
- β Claude Code - Current installation method
- β GitHub CLI - Official apt repository
- β VS Code - Microsoft repository method
- β Context7 MCP - Configured for latest docs access
Now, let's get started! Head over to the Ubuntu Setup Guide to begin.