Zermatt GitHub and Collaboration
Zermatt — GitHub Repository & Collaboration Setup[edit | edit source]
| Field | Detail |
|---|---|
| Repository URL | https://github.com/mcgregor94086/zermatt |
| Visibility | Private |
| Owner | Scott L. McGregor (mcgregor94086) |
| Status | Active — hardware sprint complete |
| Classification | CONFIDENTIAL — PATENT PENDING |
| Last updated | 1 June 2026 |
---
What this page covers[edit | edit source]
This page documents:
- The structure of the Zermatt GitHub repository
- How to invite and manage collaborators (specifically Akien MacIain)
- How to authenticate from your Mac (Personal Access Token)
- How to push sprint files using the automation script
- The Notion/Google Docs knowledge-sharing workflow
---
Repository Structure[edit | edit source]
| Folder | Contents |
|---|---|
hardware/pcb/ |
KiCad 8 PCB files — Zermatt_v0.kicad_pcb + .kicad_pro |
hardware/docs/ |
Circuit schematic, wiring diagram, PCB layout (SVG + DOCX) |
hardware/bom/ |
Bill of materials (Zermatt_v0_BOM.xlsx) |
docs/architecture/ |
v0 full architecture document (DOCX) |
docs/assembly/ |
Step-by-step assembly manual with diagrams (DOCX) |
docs/patent/ |
Provisional patent application (DOCX) |
software/firmware/ |
ESP32 MicroPython firmware |
software/app/ |
React Native iOS/Android app |
software/server/ |
PHP server code (DreamHost) |
presentations/ |
Architecture overview deck (PPTX) |
DECISIONS.md |
Architecture decision log — updated before every commit |
README.md |
Project overview and quick-start guide |
---
Collaborators[edit | edit source]
| Name | GitHub Username | Role | Status |
|---|---|---|---|
| Scott L. McGregor | mcgregor94086 | Owner | Active |
| Akien MacIain | akienm | Collaborator (read/write) | Invitation sent — awaiting acceptance |
| Wolfgang Herwald | WolfgangHerwald | Collaborator | Active — NDA on file |
To invite a new collaborator:
- Go to https://github.com/mcgregor94086/zermatt/settings/access
- Click Add people
- Enter their GitHub username or email
- They receive an email — they must click Accept to gain access
---
Authentication: Personal Access Token[edit | edit source]
GitHub stopped accepting passwords in 2021. You need a Personal Access Token (PAT) to push from Terminal.
Generating a new token[edit | edit source]
- Go directly to: https://github.com/settings/tokens
- Click Generate new token (classic)
- Name:
MacBook Zermatt - Expiration: 1 year
- Check the repo scope checkbox
- Click Generate token
- Copy it immediately — GitHub shows it only once. It looks like:
ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Saving to Mac Keychain[edit | edit source]
The first time you run git push after generating a token:
- Username: your GitHub username (
mcgregor94086) - Password: paste the token
Mac Keychain saves it automatically — you will not be asked again until the token expires.
---
Pushing Files: Sprint Automation Script[edit | edit source]
The push script zermatt_github_push.sh automates the full file organisation and commit workflow.
What it does[edit | edit source]
- Pulls latest from GitHub
- Creates the correct folder structure if missing
- Copies all downloaded sprint files to the right folders
- Updates
DECISIONS.mdwith new ADR entries - Updates
README.mdif missing - Stages all files, commits with a detailed message, and pushes
How to run it[edit | edit source]
Open Terminal and paste these two commands:
<syntaxhighlight lang="bash"> cd ~/Projects/Lux-Ear/zermatt bash ~/Downloads/zermatt_github_push.sh </syntaxhighlight>
Commit message tag convention[edit | edit source]
| Tag | Use for |
|---|---|
[HARDWARE] |
PCB files, schematics, wiring, BOM |
[FIRMWARE] |
ESP32 MicroPython code |
[APP] |
React Native iOS/Android app code |
[SERVER] |
PHP server code |
[DOCS] |
Word docs, assembly manual, architecture |
[DECISIONS] |
DECISIONS.md updates |
[ADMIN] |
README, GitHub Issues, project management |
---
Daily Git Commands Cheat Sheet[edit | edit source]
| What you want to do | Type this in Terminal |
|---|---|
| Go to your Zermatt folder | cd ~/Projects/Lux-Ear/zermatt
|
| Check what has changed | git status
|
| Pull latest from GitHub | git pull
|
| Stage all files | git add -A
|
| Commit with a message | git commit -m "[DOCS] Updated assembly notes"
|
| Push to GitHub | git push
|
| Run the sprint push script | bash ~/Downloads/zermatt_github_push.sh
|
| See recent history | git log --oneline -10
|
| Undo last commit (keep files) | git reset --soft HEAD~1
|
---
Troubleshooting[edit | edit source]
| Error message | What it means | Fix |
|---|---|---|
| Authentication failed | Token expired or wrong | Generate new PAT at https://github.com/settings/tokens |
| rejected, non-fast-forward | GitHub has newer changes | Run git pull --rebase then git push
|
| nothing to commit | No changes since last push | Normal — run git status to confirm
|
| fatal: not a git repository | Wrong folder | Run cd ~/Projects/Lux-Ear/zermatt first
|
| command not found: git | Git not installed | Run xcode-select --install in Terminal
|
| Permission denied (publickey) | SSH not set up — use HTTPS | Run: git remote set-url origin https://github.com/mcgregor94086/zermatt
|
---
Notion / Google Docs: Sharing Context with Akien[edit | edit source]
The GitHub repo stores all files. A separate Notion page (or Google Doc) captures the human-readable sprint summaries and Claude conversation context that cannot live in GitHub.
Current recommended approach[edit | edit source]
| What | Where | How Akien accesses it |
|---|---|---|
| All code and generated files | GitHub repo | Browser preview or clone |
| KiCad PCB file | GitHub /hardware/pcb/ | Download → open in KiCad 8 |
| Assembly manual, patent, BOM | GitHub /docs/ | Download → open in Pages/Numbers |
| Sprint summaries + diagrams | Notion page (or Google Doc) | Public share link — no login needed |
| Design decisions log | DECISIONS.md in GitHub | Read in browser |
| Task tracking | GitHub Issues | Comment, create new tasks |
Notion Free plan[edit | edit source]
- Free — no credit card, no expiry
- Unlimited pages
- 1 read-only guest (enough for Akien)
- Sign up at: https://notion.so
[edit | edit source]
- Open the page in Notion
- Click Share (top right)
- Toggle Publish to web ON
- Copy the link and send to Akien by email or text
---
Current Sprint Status[edit | edit source]
Hardware Sprint — Complete[edit | edit source]
| Deliverable | File | Status |
|---|---|---|
| KiCad PCB file | Zermatt_v0.kicad_pcb | ✅ Complete |
| KiCad project file | Zermatt_v0.kicad_pro | ✅ Complete |
| Circuit schematic | ZERM-SCH-001_Circuit_Schematic.svg | ✅ Complete |
| Wiring diagram | ZERM-WRG-001_Wiring_Diagram.svg | ✅ Complete |
| PCB layout plan | ZERM-PCB-001_PCB_Layout.svg | ✅ Complete |
| Hardware document | Zermatt_v0_Circuit_Wiring_PCB.docx | ✅ Complete |
| Bill of Materials | Zermatt_v0_BOM.xlsx | ✅ Complete |
| Architecture document | Zermatt_v0_Architecture.docx | ✅ Complete |
| Assembly manual | Zermatt_v0_Assembly_Manual.docx | ✅ Complete |
| Provisional patent | LuxEar_Zermatt_Provisional_Patent.docx | ✅ Complete |
| Architecture deck | LuxEar_Zermatt_Architecture_Overview.pptx | ✅ Complete |
Next Sprint — Firmware & App[edit | edit source]
- ESP32 MicroPython firmware (BLE, WiFi, motor control, LED, audio, camera trigger)
- React Native app skeleton (BLE pairing, scan UI, customer form)
- Server job intake API + database schema
---