mirror of
https://github.com/crosspoint-reader/crosspoint-reader.git
synced 2026-04-29 10:26:52 -07:00
## Summary * Adds pre-commit git hook that automatically runs ./bin/clang-format-fix --- ### AI Usage While CrossPoint doesn't have restrictions on AI tools in contributing, please be transparent about their usage as it helps set the right context for reviewers. Did you use AI tools to help write this code? _**< YES >**_ --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1.7 KiB
1.7 KiB
Getting Started
This guide helps you build and run CrossPoint locally.
Prerequisites
- PlatformIO Core (
pio) or VS Code + PlatformIO IDE - Python 3.8+
clang-format21+ in yourPATH(CI uses clang-format 21)- USB-C cable
- Xteink X4 device for hardware testing
If ./bin/clang-format-fix fails with either of these errors, install clang-format 21:
clang-format: No such file or directory.clang-format: error: unknown key 'AlignFunctionDeclarations'
Examples:
# Debian/Ubuntu (try this first)
sudo apt-get update && sudo apt-get install -y clang-format-21
# If the package is unavailable, add LLVM apt repo and retry
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 21
sudo apt-get update
sudo apt-get install -y clang-format-21
# macOS (Homebrew)
brew install clang-format
Then verify:
clang-format-21 --version
The reported major version must be 21 or newer.
Clone and initialize
git clone --recursive https://github.com/crosspoint-reader/crosspoint-reader
cd crosspoint-reader
If you already cloned without submodules:
git submodule update --init --recursive
Enable the repository-managed Git hooks (required once per clone):
git config core.hooksPath .githooks
chmod +x .githooks/pre-commit
Build
pio run
Flash
pio run --target upload
First checks before opening a PR
./bin/clang-format-fix
pio check --fail-on-defect low --fail-on-defect medium --fail-on-defect high
pio run