platform-codebase/infrastructure/scripts/lib/github-push.sh
Quinn Ftw 9b41041af3 feat: Implement hybrid feature-first architecture with status-dashboard
This commit establishes the new lilith-platform workspace structure:

Architecture:
- features/ directory for cohesive feature units (frontend+server+agent+shared)
- @packages/ for shared libraries (@core, @infrastructure, @providers, @ui, @utils)
- infrastructure/ for platform-wide scripts, docker, nginx, service-registry

Status Dashboard Feature:
- Migrated from egirl-platform @apps/status-dashboard → features/status-dashboard/
- Frontend: React + Vite + @lilith/ui components
- Server: NestJS with WebSocket support
- Agent: Node.js metrics collector
- Infrastructure: Deploy script for VPS

Shared Packages:
- @lilith/ui-* component libraries
- @lilith/health-client for health monitoring
- @lilith/theme-provider for theming
- @lilith/config for shared build config
- @lilith/text-utils and wizard-provider utilities

Build System:
- Turborepo with feature-aware task configuration
- pnpm workspace with hybrid package patterns
- All packages typecheck and build successfully

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-23 18:40:37 -08:00

42 lines
1 KiB
Bash
Executable file

#!/bin/bash
#
# GitHub Push and Release Library
#
# Pushes releases branch with tags to GitHub and creates GitHub releases.
#
set -e
set -u
push_to_github() {
local NEW_TAG="$1"
local RELEASE_NOTES_FILE="$2"
log_info "Pushing to GitHub..."
# Push releases branch with tags
git push github releases --tags || {
log_error "Failed to push to GitHub"
return 1
}
# Create GitHub release using gh CLI if available
if command -v gh >/dev/null 2>&1; then
log_info "Creating GitHub release..."
gh release create "$NEW_TAG" \
--title "Release $NEW_TAG" \
--notes-file "$RELEASE_NOTES_FILE" \
--repo "TransQuinnFTW/egirl-platform" || {
log_warn "GitHub release creation failed (may already exist)"
}
else
log_warn "gh CLI not installed - release created locally only"
log_info "Install gh CLI: https://cli.github.com/"
fi
log_info "✅ Pushed to GitHub: $NEW_TAG"
return 0
}
# Export functions
export -f push_to_github