Skip to content
/ start Public

Project Quality Controller - A unified system for managing development standards, quality assurance, and environment consistency across all projects with zero-cost deployment.

Notifications You must be signed in to change notification settings

kairin/start

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

15 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Start - Project Quality Controller πŸš€

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.


🎯 What is Start?

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

🚨 UV-First Python Development

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

πŸš€ Quick Start

# 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 list

πŸ“ Project Architecture

start/                           # 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

πŸ› οΈ Available Commands

System Management

# 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

Project Quality Control

# 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

Git Workflow (MANDATORY)

# 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

🎯 Phase 001 Status: COMPLETE

βœ… Implemented Features

  • 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

πŸ”„ Phase 002: Planned

  • 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

πŸ“‹ Quality Standards Enforced

Universal Requirements:

  • βœ… 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

Python Project Requirements:

  • βœ… UV-Only Operations - All pip commands must be uv 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 .venv exclusively
  • βœ… Command Prefixing - All execution must use uv run

πŸ”„ Transition Plan: Setup Guide β†’ Quality Controller

πŸ“š Original Purpose (v1.0.0)

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

πŸš€ Current Purpose (v2.0.0)

Start is now a Project Quality Controller focused on:

  • Project standards enforcement
  • Quality compliance validation
  • Development environment management
  • Multi-project consistency
  • AI assistant coordination

πŸ“¦ Content Migration (Planned - Phase 003)

The original setup guide content will be preserved and enhanced in dedicated repositories:

New Repository: kairin/ubuntu-setup

Purpose: Ubuntu system optimization and clean installation

# Will contain:
- Snap removal procedures
- Native Firefox installation  
- Essential development packages
- Performance tuning guides

New Repository: kairin/development-environment

Purpose: Complete development environment setup

# Will contain:
- Git configuration and SSH setup
- NVM and Node.js installation
- VS Code configuration
- Shell and terminal optimization

New Repository: kairin/ai-assistants-setup

Purpose: AI assistant installation and configuration

# Will contain:
- Claude Code setup and configuration
- Gemini CLI installation guide
- GitHub Copilot CLI setup
- MCP server configuration

🎯 Migration Benefits

For Start Project:

  • βœ… 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

For Setup Content:

  • βœ… 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

For Your Ecosystem:

  • βœ… 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

🚨 During Transition

Current Status:

  • βœ… Phase 001 Complete - Core quality controller operational
  • βœ… Setup Directories Present - 01-ubuntu-setup/ through 05-your-first-project/
  • ⏳ Migration Pending - Setup content will move to dedicated repositories
  • πŸ”„ Dual Purpose - Currently serving both roles during transition

What to Expect:

  1. Immediate Use - All quality controller functions available now
  2. Setup Content Access - Original guides remain accessible during transition
  3. Repository Creation - New setup repositories will be created in Phase 003
  4. Content Migration - Setup directories will move to appropriate repositories
  5. Cross-References - Start will link to new setup repositories
  6. Quality Validation - Start will audit the new setup repositories for compliance

For Current Users:

  • 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

πŸ“– Documentation


πŸŽ‰ Ready for the Future

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.

πŸ“ Phase 001 Architecture

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)

🎯 Phase 001 Features (Available Now)

βœ… System Management

  • 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

βœ… Project Quality Auditing

  • 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

βœ… Foundation for Phase 002

  • Template Structure: Ready for spec-kit integration
  • Standards Framework: Extensible quality definitions
  • CLI Interface: Expandable command system

πŸ› οΈ Available Commands

System Management

# 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

Project Quality Control

# 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.

Welcome! We're excited to have you.

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.

  1. 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.

  2. 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.

  3. 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.

Welcome to the Linux world!

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 use ls to list files.
  • File paths use forward slashes (/) instead of backslashes (\). For example: /home/user/project instead of C:\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.

  1. Create a GitHub Account: If you don't have one, head over to GitHub.com and sign up.

  2. Create a New Repository: On your GitHub account, create a new repository. Let's call it my-dev-setup.

  3. Push this Guide to Your Repository: Open the Ubuntu terminal (Ctrl+Alt+T) and run the following commands. They work very similarly to how git works 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 main branch to the origin remote 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.

Quick Start

If you're familiar with Git and the terminal, here are the commands to get this repo set up under your own account.

  1. Create a new, empty repository on GitHub.
  2. 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 main

πŸ—ΊοΈ What's Inside?

Once 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 πŸŽ‰];
Loading

πŸ“š Guide Sections

03: Development Tools πŸ› οΈ

βœ… Documentation Status

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.

About

Project Quality Controller - A unified system for managing development standards, quality assurance, and environment consistency across all projects with zero-cost deployment.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •