Zermatt GitHub and Collaboration

From Lux-Ear Internal Knowledge Base
Jump to navigation Jump to search

Template:Lux-Ear Header

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:

  1. Go to https://github.com/mcgregor94086/zermatt/settings/access
  2. Click Add people
  3. Enter their GitHub username or email
  4. 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]

  1. Go directly to: https://github.com/settings/tokens
  2. Click Generate new token (classic)
  3. Name: MacBook Zermatt
  4. Expiration: 1 year
  5. Check the repo scope checkbox
  6. Click Generate token
  7. 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.

Template:Note

---

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]

  1. Pulls latest from GitHub
  2. Creates the correct folder structure if missing
  3. Copies all downloaded sprint files to the right folders
  4. Updates DECISIONS.md with new ADR entries
  5. Updates README.md if missing
  6. 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

To share a Notion page with Akien (no account needed)[edit | edit source]

  1. Open the page in Notion
  2. Click Share (top right)
  3. Toggle Publish to web ON
  4. 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

---

Related IKB Pages[edit | edit source]