Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
131 commits
Select commit Hold shift + click to select a range
6dfcc03
Fix first-time setup issues and improve startup metrics
Patel230 Sep 14, 2025
2b4c57d
Enhance automated setup with multi-method installation
Patel230 Sep 14, 2025
4145dc8
Fix Docker group creation for snap Docker installations
Patel230 Sep 14, 2025
ef41768
Add automatic Docker permission fixes with multiple strategies
Patel230 Sep 14, 2025
a912165
Integrate proven Docker permission fixes from fix_perms.sh
Patel230 Sep 14, 2025
175c020
Fix Neo4j first-time installation configuration corruption
Patel230 Sep 14, 2025
084650b
Fix ESLint critical errors and enhance platform compatibility
Patel230 Sep 14, 2025
50fc302
Add comprehensive platform enhancements for Linux/Ubuntu systems
Patel230 Sep 14, 2025
d2a6727
Add comprehensive Windows 8+ support and complete cross-platform impl…
Patel230 Sep 14, 2025
aa370f9
Add GitHub Container Registry CI/CD and smart launcher
Patel230 Sep 15, 2025
b015c28
Fix Neo4j Dockerfile - use ENV for plugin installation
Patel230 Sep 15, 2025
851209b
Fix GitHub Container Registry push issues
Patel230 Sep 15, 2025
b8ac646
Fix stack manifest to work with all branches
Patel230 Sep 15, 2025
61295cd
Enhance smart-start with HTTPS default and interactive UX
Patel230 Sep 15, 2025
202fb82
Fix smart-start banner box alignment
Patel230 Sep 15, 2025
0767f45
Modernize smart-start script with professional styling and enhanced UX
Patel230 Sep 15, 2025
5308396
Fix macOS compatibility and add ARM64 GitHub Container Registry support
Patel230 Sep 16, 2025
464ff91
Fix macOS BSD grep compatibility in registry output parsing
Patel230 Sep 16, 2025
8705d49
Increase Neo4j health check timeouts for GDS/APOC startup
Patel230 Sep 16, 2025
81bd80f
Update container cleanup emoji from 🧹 to ♻️ with proper spacing
Patel230 Sep 16, 2025
f15601a
Complete documentation update for fix/first-start branch
Patel230 Sep 16, 2025
00e83e0
Add stop and remove commands to smart-start script
Patel230 Sep 16, 2025
c11fd45
Add color-coded QUICK ACTIONS with semantic meaning
Patel230 Sep 16, 2025
bec8814
Update footer message and database emoji consistency
Patel230 Sep 16, 2025
413b8c3
Add Ollama-style one-liner installation with smart-start
Patel230 Sep 17, 2025
277b8a1
Fix installation script to clone from correct branch
Patel230 Sep 17, 2025
39f4237
Update README with one-liner installation command
Patel230 Sep 17, 2025
d946686
Add comprehensive Mermaid diagrams for installation flow
Patel230 Sep 17, 2025
30718fa
✨ Transform Mermaid diagrams with modern professional styling
Patel230 Sep 17, 2025
6f18f97
Update deployment docs with GitHub raw URL approach
Patel230 Sep 17, 2025
abfd0d9
Fix Linux installation by removing mkcert dependency
Patel230 Sep 17, 2025
993b41d
🎨 Fix diagram colors for better readability
Patel230 Sep 17, 2025
3d9b787
🎨 Complete professional redesign of all Mermaid diagrams
Patel230 Sep 17, 2025
efa7a10
🎨 Unify all diagrams with consistent dark theme
Patel230 Sep 17, 2025
f71b032
Use 🛢️ Database emoji in smart-start script
Patel230 Sep 17, 2025
531809c
✨ Enhance Installation Timeline with beautiful design
Patel230 Sep 17, 2025
7697239
Fix Installation Timeline theme consistency with readable colors
Patel230 Sep 17, 2025
77a86b7
Fix container health checks and complete Ollama-style installation
Patel230 Sep 17, 2025
81a8f1d
Complete health check optimization and UI improvements
Patel230 Sep 17, 2025
8035a5d
✨ Enhance GraphDone installer banner and cleanup
Patel230 Sep 17, 2025
243c194
🎨 Fix GraphDone installer visual formatting and alignment
Patel230 Sep 19, 2025
be5441a
Fix GraphDone installer box alignment
Patel230 Sep 19, 2025
54ea069
Fix GraphDone installer box alignment
Patel230 Sep 19, 2025
4bbfc1c
Fix GraphDone installer box alignment and update colors
Patel230 Sep 21, 2025
e9aed08
✨ Add comprehensive Node.js checking and installation to install.sh
Patel230 Sep 22, 2025
2eedb80
✨ Enhance installation script with smart caching and improved flow
Patel230 Oct 9, 2025
ec1eb9b
🧹 Remove smart-start file - no longer needed
Patel230 Oct 9, 2025
af797a4
Fix installation script animations and dependency checking
Patel230 Oct 10, 2025
b68fce7
Fix installation script alignment and Git setup formatting
Patel230 Oct 11, 2025
bb09d3a
Add Git installation output cleanup and collapse to clean success line
Patel230 Oct 11, 2025
b2b102a
Fix installation script box alignment and spinner visual issues
Patel230 Oct 11, 2025
320ce3e
Restore package-lock.json file - was removed by mistake
Patel230 Oct 11, 2025
4a3c465
Fix installation script inconsistencies between local and curl runs
Patel230 Oct 11, 2025
03c99b9
Fix ASCII art alignment and use consistent teal color scheme in insta…
Patel230 Oct 12, 2025
7f92ab7
Update TO text to use Unicode box-drawing style matching GRAPHDONE
Patel230 Oct 12, 2025
49dc2c5
Update WELCOME text to use Unicode box-drawing characters matching GR…
Patel230 Oct 12, 2025
6dd3c58
Update install script
Patel230 Oct 12, 2025
7cb329d
Fix install script curl/wget hanging by using /dev/tty with fallback
Patel230 Oct 13, 2025
fe39a29
Move Installation Setup before Dependency Check to fix curl/wget scri…
Patel230 Oct 13, 2025
9738800
Fix Installation Setup box formatting with precise character counting
Patel230 Oct 13, 2025
89b81b8
Fix Installation Setup box character spacing alignment
Patel230 Oct 13, 2025
76d3216
Improve install script emojis and spacing
Patel230 Oct 13, 2025
5e55dfa
Improve install script Environment Setup section formatting
Patel230 Oct 13, 2025
c51e1e2
Improve environment setup code
Patel230 Oct 13, 2025
b002800
Refine install script formatting and messaging
Patel230 Oct 13, 2025
8db82cc
Fix terminal spinner artifact in install script
Patel230 Oct 13, 2025
0ff6bb2
Remove accidental GraphDone-Core submodule
Patel230 Oct 13, 2025
47c5fa4
Fix install.sh for macOS compatibility and add robustness improvement…
Patel230 Oct 14, 2025
cb34ec8
Improve install.sh section headings with teal divider lines matching …
Patel230 Oct 14, 2025
ff93160
Standardize all section heading lines to consistent visual width (36 …
Patel230 Oct 14, 2025
aa44358
fix the indentation and line length
Patel230 Oct 14, 2025
fd933b4
fix the line length
Patel230 Oct 14, 2025
cf8d320
fix the line length again
Patel230 Oct 14, 2025
5cc57cd
fix the line length due to miss calculated
Patel230 Oct 14, 2025
9a1d890
Refactor: Improve Linux Git installation with clean output and spinne…
Patel230 Oct 15, 2025
a7831b2
Refactor installation scripts: Organize platform-specific code for ma…
Patel230 Oct 15, 2025
1e66240
Add Copilot-style animation to welcome banner
Patel230 Oct 15, 2025
106b023
Convert setup scripts to POSIX sh: nvm for Node.js, snap for Docker, …
Patel230 Oct 16, 2025
b4fda01
fix: updated install scripts
Patel230 Oct 16, 2025
de3ea41
fix: add 3s delay after port cleanup to stabilize Docker daemon
Patel230 Oct 16, 2025
7ff1708
Keep original welcome banner with Copilot-style animation
Patel230 Oct 16, 2025
6297994
Add dynamic version fetching from GitHub releases to install banner
Patel230 Oct 16, 2025
00f1df8
Fix header alignment in installation script - standardize dashes and …
Patel230 Oct 16, 2025
618ada7
Final alignment fixes for installation script headers
Patel230 Oct 16, 2025
12f6626
Add hybrid script loading to support curl pipe installation
Patel230 Oct 16, 2025
9222091
Enhance installation script: unified spinners, color detection, and c…
Patel230 Oct 16, 2025
4951f93
Fix Docker Desktop launch reliability with fallback path
Patel230 Oct 16, 2025
92937e8
Update install script
Patel230 Oct 16, 2025
d802764
Fix Docker Desktop installation detection and enhance security docume…
Patel230 Oct 24, 2025
78a2148
Enhance installation script with network speed tests and detailed sys…
Patel230 Oct 24, 2025
e563db9
Format disk space units with proper spacing in system info display
Patel230 Oct 24, 2025
31478ca
Fix duplicate 'Waiting for services' message
Patel230 Oct 25, 2025
8ddc66c
Clean up Git setup script log messages
Patel230 Oct 25, 2025
152e585
Add OrbStack support and improve Docker daemon readiness checks
Patel230 Oct 25, 2025
8e542f8
Fix non-interactive Docker installation for curl pipe usage
Patel230 Oct 25, 2025
b0f83f6
Add OrbStack support and improve Docker installation UX
Patel230 Oct 25, 2025
916d48a
Fix Docker installation UX: proper line clearing and runtime detection
Patel230 Oct 25, 2025
f8ce0fa
Make port conflict resolution more polite and Docker-aware
Patel230 Oct 25, 2025
7127f75
Standardize spinner implementation and colors across all scripts
Patel230 Oct 25, 2025
86162f0
Refine spinner implementation and fix read stdin handling
Patel230 Oct 25, 2025
891b496
Refactor Docker installation cleanup with reusable function
Patel230 Oct 26, 2025
7e8a194
Disable Docker Desktop support and standardize OrbStack Docker naming
Patel230 Oct 26, 2025
56fe6d3
Refactor: Replace line counting with cursor save/restore for robust c…
Patel230 Oct 26, 2025
a3cc726
fix(install): Fix ANSI escape sequences redirected to stderr
Patel230 Oct 26, 2025
e2a0f50
cleanup: Remove all obsolete line counting code
Patel230 Oct 26, 2025
f012c01
feat(setup): Add completion messages to Node.js and Docker scripts
Patel230 Oct 26, 2025
356af6b
feat(install): Save installation logs to permanent directory
Patel230 Oct 26, 2025
6f378e4
feat(install): Complete clean spinner implementation
Patel230 Oct 26, 2025
3bca0a8
fix(logs): Improve log directory creation for curl/wget
Patel230 Oct 26, 2025
9a068e5
fix(install): Simplify log directory to use $HOME/graphdone-logs for …
Patel230 Oct 26, 2025
c499a9b
fix(install): Check for .git directory before updating and validate g…
Patel230 Oct 27, 2025
5954901
fix(install): Remove Docker startup prompt, clean spinner output, and…
Patel230 Oct 27, 2025
093f13c
fix(install): Robust git clone with timeout, cleanup, and error logging
Patel230 Oct 27, 2025
1070f85
docs: Add comprehensive installation comments and update documentation
Patel230 Oct 27, 2025
a9dabcd
Improve Linux sudo UX: single password prompt for all installations
Patel230 Oct 27, 2025
984624b
Improve sudo prompt for Linux installations
Patel230 Oct 27, 2025
b3213c8
Fix sudo prompt display in curl/wget piped mode
Patel230 Oct 27, 2025
191baff
Fix: Reconnect stdout/stderr before printing in piped mode
Patel230 Oct 27, 2025
77449e3
Fix: Use subshell to restore stdout/stderr after sudo prompt
Patel230 Oct 27, 2025
93f7b59
docs: Update documentation for smart sudo authentication
Patel230 Oct 27, 2025
2028c58
Fix Disk Available color formatting to match Chip/RAM style
Patel230 Oct 28, 2025
8e3c99f
Add git hooks to enforce single-author commit policy
mvalancy Nov 3, 2025
97b8e80
Add comprehensive installation test infrastructure
mvalancy Nov 3, 2025
a0c1a73
Fix CI/CD workflow issues
mvalancy Nov 3, 2025
c4a2e4f
Fix docker-compose path and remove Pages deployment
mvalancy Nov 3, 2025
2db5bf0
Add simplified CI test runner
mvalancy Nov 3, 2025
60a7306
Fix Neo4j service name in CI workflow
mvalancy Nov 3, 2025
723610c
Fix CI timeout issues
mvalancy Nov 3, 2025
0f48441
Simplify CI tests to avoid Neo4j startup issues
mvalancy Nov 3, 2025
e1dd7d2
Fix Rollup build issue in CI
mvalancy Nov 3, 2025
cba5e2e
Complete overhaul of CI workflow for PR #24
mvalancy Nov 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 86 additions & 0 deletions .githooks/commit-msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
#!/bin/sh
# Commit-msg hook to block Co-Authored-By lines
# GraphDone does not use pair programming and maintains clean git logs

# First argument is the commit message file
COMMIT_MSG_FILE="$1"

# Read the commit message
if [ ! -f "$COMMIT_MSG_FILE" ]; then
exit 0
fi

COMMIT_MSG=$(cat "$COMMIT_MSG_FILE")

# Function to check for co-author patterns
check_coauthor_patterns() {
echo "$1" | grep -iE "(co-authored-by:|co-author:|coauthor:|pair[- ]programm)" >/dev/null 2>&1
}

# Check for Co-Authored-By and related patterns
if check_coauthor_patterns "$COMMIT_MSG"; then
echo ""
echo "════════════════════════════════════════════════════════════════════"
echo " ❌ COMMIT BLOCKED "
echo "════════════════════════════════════════════════════════════════════"
echo ""
echo "Co-authorship attribution detected in commit message."
echo ""
echo "GraphDone policy: Individual commits only (no pair programming)"
echo ""
echo "Found in your commit message:"
echo "────────────────────────────────────────────────────────────────────"
echo "$COMMIT_MSG" | grep -iE "(co-authored-by:|co-author:|coauthor:|pair[- ]programm)" | head -5
echo "────────────────────────────────────────────────────────────────────"
echo ""
echo "Please remove:"
echo " • Co-Authored-By: <name> <email>"
echo " • Co-Author: ..."
echo " • References to pair programming"
echo " • Any collaborative attribution"
echo ""
echo "Each commit should have a single author for:"
echo " ✓ Clear accountability"
echo " ✓ Clean git history"
echo " ✓ Accurate contribution tracking"
echo ""
echo "To fix: Edit your commit message and remove co-authorship lines"
echo "════════════════════════════════════════════════════════════════════"
echo ""
exit 1
fi

# Also check for specific AI assistant attributions that might slip through
if echo "$COMMIT_MSG" | grep -iE "(claude.*anthropic|generated.*by.*claude|claude.*ai|noreply@anthropic)" >/dev/null 2>&1; then
echo ""
echo "════════════════════════════════════════════════════════════════════"
echo " ⚠️ AI ATTRIBUTION DETECTED "
echo "════════════════════════════════════════════════════════════════════"
echo ""
echo "Found AI assistant attribution in commit message."
echo ""
echo "While AI tools may assist with code, commits should be"
echo "attributed only to the human developer who reviewed and"
echo "submitted the code."
echo ""
echo "Please remove any lines like:"
echo " • Co-Authored-By: Claude <noreply@anthropic.com>"
echo " • Generated with Claude"
echo " • AI-assisted attribution"
echo ""
echo "════════════════════════════════════════════════════════════════════"
echo ""
exit 1
fi

# Check for suspiciously formatted email addresses that might be bots
if echo "$COMMIT_MSG" | grep -iE "co-authored-by:.*<.*(bot|action|automated|ci-cd|pipeline).*@.*>" >/dev/null 2>&1; then
echo ""
echo "⚠️ WARNING: Automated co-author detected"
echo " Blocking bot/automation co-authorship attributions"
echo ""
exit 1
fi

# All checks passed
exit 0
80 changes: 80 additions & 0 deletions .githooks/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
#!/bin/sh
# Pre-commit hook to block Co-Authored-By lines
# GraphDone does not use pair programming and maintains clean git logs

# Get the commit message file path
COMMIT_MSG_FILE="$1"

# Check if we're in the middle of a commit (not a merge/rebase)
if git rev-parse --verify HEAD >/dev/null 2>&1; then
# Get the staged commit message from git
COMMIT_MSG=$(git diff --cached --diff-filter=A -z --name-only | xargs -0 cat 2>/dev/null | grep -i "co-authored-by:" || true)

# If no staged message, check for message passed via -m flag
if [ -z "$COMMIT_MSG" ] && [ -n "$GIT_EDITOR" ]; then
COMMIT_MSG=$(echo "$GIT_EDITOR" | grep -i "co-authored-by:" || true)
fi

# Check the commit message template if it exists
if [ -z "$COMMIT_MSG" ] && [ -f ".gitmessage" ]; then
COMMIT_MSG=$(grep -i "co-authored-by:" .gitmessage 2>/dev/null || true)
fi

# For checking the actual commit message being prepared
# This catches -m flag commits and editor commits
if git diff --cached --quiet; then
# No staged changes, skip
exit 0
fi
fi

# Function to check commit message
check_commit_message() {
# Check for Co-Authored-By in various formats
if echo "$1" | grep -iE "(co-authored-by:|co-author:|coauthor:|pair[- ]programm)" >/dev/null 2>&1; then
echo ""
echo "❌ ERROR: Commit blocked - Co-Authored-By detected"
echo ""
echo "GraphDone maintains individual attribution in git logs."
echo "Please remove any of the following from your commit message:"
echo " • Co-Authored-By: ..."
echo " • Co-Author: ..."
echo " • References to pair programming"
echo ""
echo "Each commit should have a single author for clear accountability."
echo ""
return 1
fi
return 0
}

# Main pre-commit check
# This will be called during the actual commit process
# The commit message will be checked in the commit-msg hook
# Here we just set up the environment

# Check if there are any Co-Authored-By lines in staged files' content
# (in case someone accidentally committed a file with Co-Authored-By in it)
STAGED_FILES=$(git diff --cached --name-only --diff-filter=ACM)
if [ -n "$STAGED_FILES" ]; then
for FILE in $STAGED_FILES; do
# Skip binary files and this hook file itself
if [ "$FILE" = ".githooks/pre-commit" ] || [ "$FILE" = ".githooks/commit-msg" ]; then
continue
fi

# Only check text files for accidental Co-Authored-By content
if file --mime "$FILE" 2>/dev/null | grep -q "text/"; then
if git show ":$FILE" 2>/dev/null | grep -iE "^[^#]*co-authored-by:" >/dev/null 2>&1; then
echo ""
echo "⚠️ WARNING: File '$FILE' contains 'Co-Authored-By' text"
echo " This may be intentional (documentation, etc.) but please verify."
echo ""
# Don't block, just warn for file content
fi
fi
done
fi

# Pre-commit passes, actual message check happens in commit-msg hook
exit 0
Loading
Loading