Skip to content

Getting Started

philipp-gatzka edited this page Dec 24, 2025 · 1 revision

Getting Started

This guide walks you through setting up your development environment for the Graphite project.

Prerequisites

  • Git 2.x or later
  • GitHub account with repository access
  • SSH key configured for GitHub

Clone the Repository

Clone with submodules to include the wiki:

git clone --recurse-submodules git@github.com:philipp-gatzka/graphite.git
cd graphite

If you already cloned without --recurse-submodules:

git submodule update --init --recursive

Run Setup Script

The setup script configures git hooks and other development tools:

./scripts/setup.sh

This configures:

  • Git hooks path - Points to .githooks/ for shared hooks
  • commit-msg hook - Validates commit message format

Verify Setup

Test that the commit hook is working:

# This should fail (invalid format)
git commit --allow-empty -m "test commit"

# This should succeed (valid format)
git commit --allow-empty -m "#1 test commit"

Project Structure

graphite/
├── wiki/              # Documentation (git submodule)
├── scripts/           # Development scripts
├── .githooks/         # Shared git hooks
├── .github/           # GitHub templates
└── CLAUDE.md          # Workflow rules (read this!)

Next Steps

  1. Read Development Workflow to understand branching and commits
  2. Read Contributing before making changes
  3. Review CLAUDE.md for the complete ruleset

Troubleshooting

Commit hook not working

Ensure the hooks path is configured:

git config core.hooksPath .githooks

Submodule not initialized

git submodule update --init --recursive

Permission denied on setup.sh

chmod +x scripts/setup.sh
./scripts/setup.sh

Clone this wiki locally