.PHONY: help install upgrade uninstall build clean test bump-patch bump-minor bump-major release-patch release-minor release-major status push help: @echo "AI Shell Development Commands:" @echo "" @echo "๐Ÿ“ฆ Package Management:" @echo " install - Install AI Shell globally using uv tool" @echo " upgrade - Upgrade existing AI Shell installation" @echo " uninstall - Uninstall AI Shell" @echo " build - Build the package" @echo " clean - Clean build artifacts" @echo " test - Test the installation" @echo "" @echo "๐Ÿ”ข Version Management:" @echo " bump-patch - Bump patch version (0.1.0 -> 0.1.1)" @echo " bump-minor - Bump minor version (0.1.0 -> 0.2.0)" @echo " bump-major - Bump major version (0.1.0 -> 1.0.0)" @echo "" @echo "๐Ÿš€ Release Management:" @echo " release-patch - Release patch version (bump + build + commit + push)" @echo " release-minor - Release minor version (bump + build + commit + push)" @echo " release-major - Release major version (bump + build + commit + push)" @echo "" @echo "๐Ÿ“‹ Git Operations:" @echo " status - Show git status and project info" @echo " push - Push current changes to remote" install: @echo "๐Ÿš€ Installing AI Shell..." @uv build @uv tool install . --force @echo "โœ… AI Shell installed successfully!" upgrade: bump-patch install @echo "โœ… AI Shell upgraded successfully!" quick-upgrade: @echo "๐Ÿ”„ Quick upgrade (patch version)..." @./quick_upgrade.sh uninstall: @echo "๐Ÿ—‘๏ธ Uninstalling AI Shell..." @uv tool uninstall ai-shell || true @echo "โœ… AI Shell uninstalled" build: @echo "๐Ÿ“ฆ Building package..." @uv build clean: @echo "๐Ÿงน Cleaning build artifacts..." @rm -rf dist/ @rm -rf build/ @rm -rf *.egg-info/ @echo "โœ… Clean complete" test: @echo "๐Ÿงช Testing AI Shell installation..." @ai --version @ai --config @echo "โœ… Test complete" bump-patch: @echo "๐Ÿ“ˆ Bumping patch version..." @python scripts/bump_version.py patch @echo "โœ… Version bumped" bump-minor: @echo "๐Ÿ“ˆ Bumping minor version..." @python scripts/bump_version.py minor @echo "โœ… Version bumped" bump-major: @echo "๐Ÿ“ˆ Bumping major version..." @python scripts/bump_version.py major @echo "โœ… Version bumped" release-patch: @echo "๐Ÿš€ Releasing patch version..." @./scripts/release.sh patch release-minor: @echo "๐Ÿš€ Releasing minor version..." @./scripts/release.sh minor release-major: @echo "๐Ÿš€ Releasing major version..." @./scripts/release.sh major status: @echo "๐Ÿ“‹ AI Shell Project Status:" @echo "" @echo "๐Ÿ“ Project Info:" @echo " Directory: $(PWD)" @echo " Version: $(shell grep '__version__' ai_shell/__init__.py | cut -d'"' -f2)" @echo "" @echo "๐Ÿ”ง Git Status:" @git status --short || echo " Not a git repository" @echo "" @echo "๐Ÿ“ฆ Package Status:" @echo " Built: $(shell [ -f dist/*.whl ] && echo 'Yes' || echo 'No')" @echo " Installed: $(shell uv tool list | grep -q ai-shell && echo 'Yes' || echo 'No')" @echo "" @echo "๐ŸŒ Remote Repository:" @git remote get-url origin 2>/dev/null | sed 's/:[^@]*@/:***@/' || echo " No remote configured" push: @echo "๐Ÿš€ Pushing to remote repository..." @git add . @git status --short @read -p "Continue with commit and push? [y/N]: " confirm && [ "$$confirm" = "y" ] || exit 1 @read -p "Enter commit message: " message && git commit -m "$$message" @git push @echo "โœ… Push completed!"