Skip to content

Multi Project Management

mark7766 edited this page Jul 14, 2026 · 2 revisions

Multi-Project Management

Strategies for using ai-coding-ok across multiple projects — batch installation, shared configurations, and unified upgrades.


Scenarios

Scenario Strategy
3-5 personal projects Install individually, customize per project
10+ team microservices Batch install with shared coding standards
Monorepo with packages One install at root, package-specific sections
Organization-wide rollout Shared template repo + automated install

Batch installation

Install across multiple projects

#!/usr/bin/env bash
# batch-install.sh — install ai-coding-ok in multiple projects

AI_CODING_OK="$HOME/tools/ai-coding-ok"
PROJECTS=(
  "$HOME/projects/api-service"
  "$HOME/projects/web-frontend"
  "$HOME/projects/admin-panel"
  "$HOME/projects/shared-lib"
)

for project in "${PROJECTS[@]}"; do
  echo "=== Installing in $project ==="
  cd "$project"
  bash "$AI_CODING_OK/install.sh" --copilot --target .
  echo ""
done

echo "✅ All projects installed. Now customize each:"
echo "   Paste scripts/customize-prompt.md into Copilot Chat for each project."

Python version

#!/usr/bin/env python3
"""Batch install ai-coding-ok across multiple projects."""

import subprocess
import sys
from pathlib import Path

AI_CODING_OK = Path.home() / "tools" / "ai-coding-ok"
PROJECTS = [
    Path.home() / "projects" / "api-service",
    Path.home() / "projects" / "web-frontend",
    Path.home() / "projects" / "admin-panel",
]

for project in PROJECTS:
    print(f"=== Installing in {project} ===")
    subprocess.run(
        [sys.executable, str(AI_CODING_OK / "install.py"), "--copilot", "--target", str(project)],
        check=True
    )

print("✅ All projects installed.")

Shared coding standards

For teams with consistent conventions across projects:

Option 1: Symlink

# Create a shared coding-standards.md
mkdir -p ~/team-standards
vim ~/team-standards/coding-standards.md

# Symlink in each project (after ai-coding-ok install)
for project in ~/projects/*/; do
  ln -sf ~/team-standards/coding-standards.md "$project/.github/agent/coding-standards.md"
done

Pros: One file to update, all projects get changes instantly.
Cons: Projects can't diverge. Symlinks on Windows require admin.

Option 2: Copy with sync script

#!/usr/bin/env bash
# sync-standards.sh — push shared standards to all projects

SHARED="$HOME/team-standards"

for project in "$HOME/projects"/*/; do
  cp "$SHARED/coding-standards.md" "$project/.github/agent/coding-standards.md"
  echo "✅ Synced to $project"
done

Run this script whenever the shared standards change.

Option 3: Git submodule

# In each project
git submodule add git@github.com:team/coding-standards.git .github/agent/shared-standards

# Reference in .github/agent/coding-standards.md
# See .github/agent/shared-standards/coding-standards.md for base standards
# Project-specific additions below

Monorepo strategy

In a monorepo with multiple packages, one ai-coding-ok installation at the root serves all packages:

monorepo/
├── AGENTS.md                          # Root-level: overall architecture
├── CLAUDE.md
├── .github/
│   └── agent/
│       └── memory/
│           ├── project-memory.md      # Overall architecture + per-package sections
│           ├── decisions-log.md       # Cross-package ADRs
│           └── task-history.md        # All packages' tasks
├── packages/
│   ├── api/
│   ├── web/
│   └── shared/

project-memory.md for monorepo

## 📦 Core Modules

### packages/api
- **Description**: REST API for customer-facing operations
- **Tech**: Python 3.12 + FastAPI
- **Status**: ✅ Production

### packages/web
- **Description**: React frontend
- **Tech**: TypeScript + React 18 + TailwindCSS
- **Status**: ✅ Production

### packages/shared
- **Description**: Shared types and utilities
- **Tech**: TypeScript
- **Status**: ✅ Production

task-history.md for monorepo

Prefix task entries with the package name:

### [TASK-042] [api] Add rate limiting middleware
### [TASK-043] [web] Fix responsive layout on mobile
### [TASK-044] [shared] Add date formatting utility

Unified upgrades

Check versions across all projects

#!/usr/bin/env bash
# check-versions.sh — report ai-coding-ok version in each project

for project in "$HOME/projects"/*/; do
  if [ -f "$project/AGENTS.md" ]; then
    version=$(head -1 "$project/AGENTS.md" | grep -oP 'v\d+\.\d+\.\d+')
    echo "$project$version"
  fi
done

Upgrade all projects

# In each project's Claude Code session:
# upgrade ai-coding-ok

# Or batch via script:
for project in "$HOME/projects"/*/; do
  echo "=== Upgrading $project ==="
  cd "$project"
  # Use Claude Code CLI to run upgrade
  claude --prompt "upgrade ai-coding-ok" --auto-approve
done

Organization-wide rollout

For large teams adopting ai-coding-ok:

Phase 1: Pilot (1-2 projects)

  • Install ai-coding-ok in 1-2 pilot projects
  • Customize templates for org conventions
  • Test for 2 weeks

Phase 2: Template creation

  • Extract org-specific customizations into shared templates
  • Create org-standard coding-standards.md
  • Create org-specific project-memory.md sections (compliance, security, etc.)

Phase 3: Rollout

  • Create a wrapper install script that installs ai-coding-ok + org templates
  • Add to the team onboarding checklist
  • Set up CI enforcement (required memory-check on all PRs)

Phase 4: Maintenance

  • Designate a "memory steward" (rotating role)
  • Monthly review of memory quality across projects
  • Quarterly upgrade of ai-coding-ok framework

Project-specific vs shared

Content Shared? How
coding-standards.md ✅ Yes Shared file, symlink or sync
workflows.md ⚠️ Mostly Shared base, project-specific additions
system-prompt.md ⚠️ Partially Shared persona, project-specific role
project-memory.md ❌ No Each project has unique architecture
decisions-log.md ❌ No Each project has unique decisions
task-history.md ❌ No Each project has unique history

Next steps

Clone this wiki locally