Files
leo-claude-mktplace/plugins/pr-review/commands/project-sync.md
lmiranda 0c2fc8c0d9 feat: add interactive setup wizard with API validation and mismatch detection
Major improvements to plugin setup experience:

Setup Commands:
- Redesign /initial-setup as interactive wizard (MCP + system + project config)
- Add /project-init for quick project-only setup
- Add /project-sync for handling repository moves/renames
- Add Gitea API validation to auto-fill org/repo when verified

Configuration Changes:
- Move GITEA_ORG from system to project level (supports multi-org users)
- System config now only contains GITEA_URL and GITEA_TOKEN
- Project .env now contains GITEA_ORG and GITEA_REPO

Automation:
- Add SessionStart hook for projman and pr-review
- Automatically detects git remote vs .env mismatch
- Warns user to run /project-sync when mismatch found

Documentation:
- Unify configuration docs (remove duplicate in plugins/projman)
- Add flow diagrams to CONFIGURATION.md
- Add setup script review guidance to UPDATING.md
- Update COMMANDS-CHEATSHEET.md with new commands and hooks

Files added:
- plugins/projman/commands/project-init.md
- plugins/projman/commands/project-sync.md
- plugins/projman/hooks/hooks.json
- plugins/pr-review/commands/initial-setup.md
- plugins/pr-review/commands/project-init.md
- plugins/pr-review/commands/project-sync.md
- plugins/pr-review/hooks/hooks.json
- plugins/cmdb-assistant/commands/initial-setup.md

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 11:20:36 -05:00

2.4 KiB

description
description
Sync project configuration with current git remote - use after changing repository location

Project Sync (PR Review)

Updates project configuration when the git remote URL has changed.

Use this when:

  • Repository was moved to a different organization
  • Repository was renamed
  • Git remote URL changed
  • SessionStart hook detected a mismatch

Step 1: Verify System Configuration

cat ~/.config/claude/gitea.env 2>/dev/null | grep -v "^#" | grep -v "PASTE_YOUR" | grep "GITEA_TOKEN=" && echo "SYSTEM_OK" || echo "SYSTEM_MISSING"

If SYSTEM_MISSING: Run /initial-setup first.


Step 2: Read Current .env

cat .env 2>/dev/null

Extract GITEA_ORG and GITEA_REPO values.

If missing: Redirect to /project-init.


Step 3: Detect Git Remote

git remote get-url origin 2>/dev/null

Extract organization and repository from URL.


Step 4: Compare Values

Scenario Action
Match "Configuration in sync" - exit
Mismatch Show diff, proceed to validation

Step 5: Validate via Gitea API

source ~/.config/claude/gitea.env
curl -s -o /dev/null -w "%{http_code}" -H "Authorization: token $GITEA_TOKEN" "$GITEA_URL/api/v1/repos/<NEW_ORG>/<NEW_REPO>"
Code Action
200 Verified - proceed to update
404 Not found - ask to confirm
401/403 Permission issue - warn

Step 6: Confirm and Update

Use AskUserQuestion to confirm, then update .env:

sed -i 's/^GITEA_ORG=.*/GITEA_ORG=<NEW_ORG>/' .env
sed -i 's/^GITEA_REPO=.*/GITEA_REPO=<NEW_REPO>/' .env

Step 7: Confirm Success

╔══════════════════════════════════════════════════════════════╗
║              CONFIGURATION UPDATED                           ║
╠══════════════════════════════════════════════════════════════╣
║ Organization:  <NEW_ORG>                                     ║
║ Repository:    <NEW_REPO>                                    ║
╚══════════════════════════════════════════════════════════════╝