summaryrefslogtreecommitdiffstats
path: root/GIT-WORKFLOW.md
diff options
context:
space:
mode:
Diffstat (limited to 'GIT-WORKFLOW.md')
-rw-r--r--GIT-WORKFLOW.md485
1 files changed, 0 insertions, 485 deletions
diff --git a/GIT-WORKFLOW.md b/GIT-WORKFLOW.md
deleted file mode 100644
index b421f83..0000000
--- a/GIT-WORKFLOW.md
+++ /dev/null
@@ -1,485 +0,0 @@
-# Git Workflow Guide — Weekly Branching
-
-**Effective Date:** 2026-04-16
-**Policy:** Each week of implementation work starts on a new feature branch for code review and safe integration.
-
----
-
-## Overview
-
-### Why Weekly Branching?
-
-1. **Code Review** — Review all changes for a week before merging to master
-2. **Safety** — Easy to rollback if issues are discovered
-3. **Isolation** — Each week's work is independent, reducing merge conflicts
-4. **History** — Clean git log with logical week-based commits
-5. **Testing** — Test entire week's work on feature branch before merging
-
-### Branch Naming Convention
-
-```
-week-<number>-<description>
-```
-
-Examples:
-- `week-3-cards-nav` (Week 3: Cards & Navigation)
-- `week-4-forms-interactions` (Week 4: Forms & Interactive Elements)
-- `week-5-animations-a11y` (Week 5: Animations & Accessibility)
-- `week-6-pages-testing` (Week 6: Missing Pages & End-to-End Testing)
-
----
-
-## Weekly Workflow
-
-### Step 1: Create Feature Branch
-
-At the start of each week, create a new feature branch from `master`:
-
-```bash
-# Ensure you're on master and up to date
-git checkout master
-git pull origin master # (if using remote)
-
-# Create feature branch
-git checkout -b week-3-cards-nav
-
-# Verify branch created
-git branch -v
-```
-
-Output should show:
-```
- master abc1234 commit message
-* week-3-cards-nav abc1234 commit message
-```
-
-The `*` indicates you're on the new branch.
-
-### Step 2: Implement Week's Work
-
-While on the feature branch, implement all changes for the week:
-
-```bash
-# Make changes to CSS, templates, documentation
-vim themes/danix-xyz-hacker/assets/css/main.css
-vim themes/danix-xyz-hacker/layouts/partials/...
-
-# Rebuild CSS after changes
-npm run build
-
-# Test in browser
-hugo server
-
-# Check what changed
-git status
-git diff themes/danix-xyz-hacker/assets/css/main.css
-```
-
-### Step 3: Commit Regularly
-
-Commit after completing each component or logical chunk:
-
-```bash
-# Stage specific files
-git add themes/danix-xyz-hacker/assets/css/main.css
-git add themes/danix-xyz-hacker/layouts/partials/card.html
-
-# Commit with clear message
-git commit -m "feat: add article card component with hover effects"
-
-# Or use commit message with body for detailed explanation
-git commit -m "feat: add article card component
-
-- Image with 16:9 aspect ratio
-- Title, excerpt, badge, button
-- Hover: lift -2px, shadow enhancement
-- Dark/light mode support
-- Mobile-first responsive design"
-```
-
-### Step 4: Daily Progress Tracking
-
-Update memory at end of each day during the week:
-
-```bash
-# Create/update memory file
-cat > /path/to/.claude/projects/.../memory/week3_progress.md << 'EOF'
-# Week 3 Progress
-
-**Date:** 2026-04-17
-**Status:** In progress (Day 1)
-
-## Completed Today
-- [x] Article card CSS
-- [x] Card integration into templates
-- [x] Responsive testing
-
-## Tomorrow
-- [ ] Navigation header
-- [ ] Hamburger menu
-EOF
-
-git add memory/week3_progress.md
-git commit -m "docs: update week 3 progress (day 1)"
-```
-
-### Step 5: Review Changes at End of Week
-
-Before merging back to master, review all changes:
-
-```bash
-# Show all commits in this week
-git log master..week-3-cards-nav --oneline
-
-# Show all file changes (diff summary)
-git diff --stat master..week-3-cards-nav
-
-# Show detailed diff for CSS
-git diff master..week-3-cards-nav themes/danix-xyz-hacker/assets/css/main.css
-
-# Show detailed diff for specific template
-git diff master..week-3-cards-nav themes/danix-xyz-hacker/layouts/partials/
-```
-
-Example output:
-```
-abc1234 feat: add article card component
-def5678 feat: add navigation header
-ghi9012 feat: add hamburger menu
-jkl3456 feat: add breadcrumb navigation
-mno7890 docs: update week 3 completion report
-
- themes/danix-xyz-hacker/assets/css/main.css | +180 -0
- themes/danix-xyz-hacker/layouts/partials/card.html | +45 -0
- themes/danix-xyz-hacker/layouts/partials/nav.html | +32 -0
- WEEK3-IMPLEMENTATION.md | +200 -0
- 3 files changed, 457 insertions(+)
-```
-
-### Step 6: Test Thoroughly
-
-Before merging, test everything on the feature branch:
-
-```bash
-# Start dev server
-hugo server
-
-# Test in browser:
-# - Dark mode (several pages)
-# - Light mode (toggle, verify all components)
-# - Mobile (320px)
-# - Tablet (768px)
-# - Desktop (1060px+)
-# - Keyboard navigation (Tab, Enter, Escape)
-# - All new components interactive
-
-# Run CSS build without errors
-npm run build
-
-# Check for console errors
-# (Open browser DevTools → Console)
-```
-
-### Step 7: Create Summary & Complete Documentation
-
-At end of week, finalize documentation:
-
-```bash
-# Create week completion summary
-cat > WEEK3-IMPLEMENTATION.md << 'EOF'
-# Week 3 Implementation — Card Layouts & Navigation
-
-[detailed implementation report]
-EOF
-
-# Update memory with completion record
-cat > memory/week3_complete.md << 'EOF'
----
-name: Week 3 Complete: Cards & Navigation
-description: Article card component, navigation header, hamburger menu, breadcrumbs
-type: project
----
-
-[completion details]
-EOF
-
-# Commit documentation
-git add WEEK3-IMPLEMENTATION.md memory/week3_complete.md
-git commit -m "docs: week 3 implementation complete"
-```
-
-### Step 8: Merge Back to Master
-
-Once testing is complete and you're satisfied with all changes:
-
-```bash
-# Switch to master
-git checkout master
-
-# Merge feature branch (creates merge commit)
-git merge week-3-cards-nav
-
-# Or merge with --squash if you want single commit per week
-# git merge --squash week-3-cards-nav
-# git commit -m "feat: week 3 - card layouts and navigation components"
-
-# Delete the feature branch (optional, good practice)
-git branch -d week-3-cards-nav
-
-# Verify merge
-git log --oneline -10
-```
-
-After merge, master will have all Week 3 changes.
-
-### Step 9: Prepare for Next Week
-
-```bash
-# Create Week 4 branch from updated master
-git checkout -b week-4-forms-interactions
-
-# Continue with Week 4 work...
-```
-
----
-
-## Commit Message Guidelines
-
-### Format
-
-```
-<type>: <subject>
-
-<body>
-
-<footer>
-```
-
-### Type
-
-- `feat:` — New feature (component, layout, page)
-- `fix:` — Bug fix
-- `refactor:` — Code restructuring without functionality change
-- `docs:` — Documentation only
-- `style:` — CSS/styling changes
-- `test:` — Test-related
-- `chore:` — Build, tooling, dependencies
-
-### Subject
-
-- Start with lowercase
-- Use imperative mood ("add" not "added")
-- Max 50 characters
-- No period at end
-
-### Body (Optional)
-
-- Explain what and why, not how
-- Wrap at 72 characters
-- Separate from subject with blank line
-
-### Examples
-
-```
-feat: add article card component
-
-- Image with 16:9 aspect ratio, responsive sizes
-- Title, excerpt, type badge, CTA button
-- Hover: lift -2px, shadow enhancement
-- Dark/light mode support verified
-- WCAG AA accessible (color contrast, keyboard nav)
-```
-
-```
-style: refine button component hover state
-
-Increase opacity change from 0.8 to 0.85 for better visibility.
-Add translateY(-1px) for lift effect on hover.
-```
-
-```
-docs: update week 3 progress report
-
-Completed: Card layout, Navigation header
-Next: Hamburger menu, Breadcrumbs
-```
-
----
-
-## Common Git Tasks
-
-### View Changes Before Committing
-
-```bash
-# See all unstaged changes
-git diff
-
-# See all staged changes
-git diff --staged
-
-# See changes in specific file
-git diff themes/danix-xyz-hacker/assets/css/main.css
-```
-
-### Unstage Changes
-
-```bash
-# Unstage single file
-git restore --staged themes/danix-xyz-hacker/assets/css/main.css
-
-# Unstage all
-git restore --staged .
-```
-
-### Discard Changes (Be Careful!)
-
-```bash
-# Discard changes to single file
-git restore themes/danix-xyz-hacker/assets/css/main.css
-
-# Discard ALL unstaged changes
-git restore .
-```
-
-### Undo Last Commit (Keep Changes)
-
-```bash
-# Soft undo (changes stay staged)
-git reset --soft HEAD~1
-
-# Or hard undo (discard changes)
-git reset --hard HEAD~1
-```
-
-### View Commit History
-
-```bash
-# Last 10 commits
-git log --oneline -10
-
-# With visual graph
-git log --oneline --graph -10
-
-# Full details
-git log -1 # Last commit details
-```
-
-### Switch Between Branches
-
-```bash
-# List all branches
-git branch -a
-
-# Switch to existing branch
-git checkout week-3-cards-nav
-
-# Create and switch (one command)
-git checkout -b week-3-cards-nav
-```
-
----
-
-## Handling Merge Conflicts
-
-If master changes while you're on feature branch:
-
-```bash
-# Update master (from remote)
-git checkout master
-git pull origin master
-
-# Switch back to feature branch
-git checkout week-3-cards-nav
-
-# Merge master into your branch
-git merge master
-
-# If conflicts occur, resolve them manually
-# Then commit the merge
-git add .
-git commit -m "merge: update week 3 with latest master"
-```
-
----
-
-## Branch Lifecycle
-
-```
-master (stable)
- │
- ├─ week-3-cards-nav (feature branch)
- │ ├─ commit: add card component
- │ ├─ commit: add navigation header
- │ ├─ commit: add hamburger menu
- │ └─ [tested, reviewed]
- │
- └─ (merge back to master when ready)
- └─ master now has all week 3 changes
-```
-
----
-
-## Review Checklist
-
-Before merging to master:
-
-- [ ] All components built and tested
-- [ ] Dark mode: All components styled
-- [ ] Light mode: All components styled
-- [ ] Mobile (320px): Responsive
-- [ ] Tablet (768px): Responsive
-- [ ] Desktop (1060px+): Responsive
-- [ ] Keyboard navigation: Working
-- [ ] Focus indicators: Visible
-- [ ] Color contrast: WCAG AA
-- [ ] CSS builds: No errors (<200ms)
-- [ ] No hard-coded colors
-- [ ] No console errors in browser
-- [ ] Documentation: Updated
-- [ ] Git log: Clear, readable commit messages
-- [ ] Ready to merge: Yes/No
-
----
-
-## Example: Week 3 Complete
-
-After finishing Week 3 and merging to master:
-
-```bash
-# You're on master now
-git log --oneline -10
-
-# Output shows:
-# abc1234 Merge branch 'week-3-cards-nav'
-# def5678 docs: week 3 implementation complete
-# ghi9012 feat: add breadcrumb navigation
-# jkl3456 feat: add hamburger menu
-# mno7890 feat: add navigation header
-# pqr1234 feat: add article card component
-# stu5678 Week 2 work (previous master state)
-```
-
-Now you're ready to start Week 4:
-
-```bash
-git checkout -b week-4-forms-interactions
-# ... continue with Week 4 work ...
-```
-
----
-
-## Summary
-
-**Weekly Branching Workflow:**
-
-1. ✅ Create feature branch at week start (`git checkout -b week-N-...`)
-2. ✅ Implement work, commit regularly with clear messages
-3. ✅ Test thoroughly before end of week
-4. ✅ Review all changes (`git diff master..week-N-...`)
-5. ✅ Update documentation and memory
-6. ✅ Merge to master (`git merge week-N-...`)
-7. ✅ Delete feature branch (`git branch -d week-N-...`)
-8. ✅ Repeat for next week
-
-This workflow keeps work organized, safe, and easy to review.
-