# Build output (west build creates these) /build*/ build/ build-*/ **/build/ **/build-*/ **/build_*/ /twister-out*/ # West workspace (recreated by west init/update) /.west/ # Zephyr SDK and toolchain (large, downloaded separately) /bootloader/ /modules/ /tools/ /zephyr/ # Python .venv/ __pycache__/ *.pyc # Editors / IDE .vscode/ .idea/ *.swp *~ *.bak # Debug artifacts *.log jlink_*.txt rtt_*.log # UF2 / binary artifacts *.uf2 !formatter/ !formatter/*.uf2 *.hex *.bin *.elf *.map *.obj *.o *.a *.zip # ...except the prebuilt formatter DFU packages. These are shipped artifacts, not # build output: build.sh publishes them as the Mesh America configurator's `erase` # packages (see formatter/README.md, PROVIDER_CATALOG.md), so they must be tracked. !formatter/*.zip # ...and the prebuilt LR1110 radio-firmware updaters. Also shipped artifacts: # updating an LR1110 needs Semtech's encrypted images compiled in, so handing # someone a prebuilt binary is far more practical than asking them to build the # tool. See LR1110_updater/README.md. !LR1110_updater/ !LR1110_updater/*.uf2 !LR1110_updater/*.bin # OS junk .DS_Store Thumbs.db desktop.ini # Claude Code project data .claude/ # RTT output files (missed by *.log pattern) rtt_*.txt # JLink scripts and outputs *.jlink # Internal working docs: per-topic audit indexes, handovers, handoffs, and # other local-only scratch notes (see the HANDOVER_*/​*_AUDIT_INDEX rules below, # kept for pre-2026-08-24 history/muscle memory even though this covers them). /devdocs/ # Temporary/scratch files *.tmp *.orig # CMake/Ninja build system CMakeCache.txt CMakeFiles/ .ninja_* cmake_install.cmake Makefile compile_commands.json # Memory dumps *.dmp core # Utility/test source files meshcore/src/eraser_main.cpp zephcore/AUDIT_FINDINGS.md # Upstream tracking (local only) UPSTREAM_TRACKER.md WEST_UPDATE.md /westchanges/ # Side projects (not part of main firmware) /doom/ THINKNODE_M1_HANDOVER.md CLAUDE.md # Working docs at the workspace root are local-only: per-topic audit indexes, # handovers and handoffs. These were listed one file at a time, which meant # every new one had to be remembered — and one was not, so it went into a commit # before anybody noticed. Match by shape instead; the individual lines below are # now redundant but harmless. [Hh][Aa][Nn][Dd][Oo][Vv][Ee][Rr]_*.md *_AUDIT_INDEX.md *_AUDIT_HANDOFF.md *_HANDOFF.md zephcore/apc_checklist.md RADIO_AUDIT_INDEX.md RX_BUSY_LATCH_PLAN.md zephcore/SX126X_LBT_RX_DEBUG_HANDOFF.md PSRAM_HANDOFF.md BLE_AUDIT_INDEX.md POWER_AUDIT_HANDOFF.md POWER_AUDIT_INDEX.md CRYPTO_AUDIT_HANDOFF.md CRYPTO_AUDIT_INDEX.md AUDIT_MASTER_PLAN.md usb_companion_probe.py CORE_MESH_AUDIT_INDEX.md UPLINK_AUDIT_INDEX.md GPS_AUDIT_INDEX.md UI_AUDIT_INDEX.md RADIO2_AUDIT_INDEX.md MISC_AUDIT_INDEX.md HANDOVER_issue34_ble_esp32.md HANDOVER_crypto_hw_accel.md PATH_HASH_AUDIT_INDEX.md MESHTIMESYNC_PLAN.md /meshtimesync-sim/ # Older release notes kept local-only. Renamed 2026-07-16 to the # RELEASE_NOTES_-zephcore.md convention; these rules follow the rename. # NOTE: the notes file for the CURRENT version must stay TRACKED — the release # workflow publishes it as the GitHub release body (body_path). Only add a rule # here for versions that are already released. releasenotes/RELEASE_NOTES_1.16.3-zephcore.md releasenotes/RELEASE_NOTES_1.16.4-zephcore.md handover_thinknode_m9.md # Vendor reference docs (datasheets, errata). Local only — not ours to redistribute. /datasheets/ LR2021_AUDIT_INDEX.md HANDOVER_lr2021_audit.md # LR2021 bring-up scratch: the CAD_LBT revert patch and its measurement notes. # Local only, like the audit index and handover above. Ignore the whole # directory — per-file rules were tried and could not work, because .gitignore # does not apply to paths already in the index (three of these went into # b839c2c for exactly that reason; untrack with `git rm -r --cached`). lr2021_bench/ LR2021_MATH_AUDIT.md