Skip to content
GopherTrunk
    • What is GopherTrunk?
    • Get started
    • Basics
    • Intermediate
    • Advanced
    • All learning paths
    • RF & SDR
    • Git & GitHub
    • Intro to Software Dev
    • Digital Trunking
    • Intro to Hardware
    • Field Guide overview
    • RF & SDR
    • RF & signal fundamentals
    • Modulation
    • SDR & DSP
    • Algorithms
    • Cryptography & cryptanalysis
    • Trunked radio
    • Protocols & standards
    • Voice coding
    • Hardware
    • People
    • Organizations
    • Software Development
    • Programming languages
    • Language internals & execution
    • Concurrency & execution models
    • Paradigms & design patterns
    • Principles & code quality
    • Testing, tooling & delivery
    • Hardware (computers & devices)
    • Hardware foundations
    • Servers & hosting
    • Personal computers
    • Mobile devices
    • Single-board computers
    • Microcontrollers
    • Networking & connectivity
    • Storage & memory
    • GPUs, FPGAs & accelerators
    • People
    • Organizations & makers
    • The Story of GopherTrunk
    • All posts
    • Announcements
    • Releases
    • Deep dives
    • Series: SDR Internals
    • Series: RF Front End
    • Tutorials
    • Solution Postmortem
    • Downloads
    • Hardware
    • Linux install
    • macOS install
    • Windows install
    • Launcher
    • Windows user guide
    • TUI
    • Web console
    • Live edits
    • Import (PDF / CSV)
    • Bookmarks
    • CC Activity
    • Radio IDs
    • Plots (signal scopes)
    • Constellation
    • Symbol scope
    • Eye diagram
    • Tuning (receiver meters)
    • Symbol histogram
    • Hunt (discover systems)
    • SigLab (offline workbench)
    • rigctld integration
    • Hardening
    • Architecture
    • Vocoders
    • Voice calibration
    • DMR encryption
    • POCSAG paging
    • APRS / AX.25
    • Opt-in features
    • Status
    • Roadmap
    • Cutting a release
    • Support
  1. Home
  2. Blog
  3. Blog: Tutorials
  • Build in the Open, Part 12: Optimizing & Securing Your Repository

    June 29, 2026

    How to make your GitHub repo discoverable and safe — About box, badges, branch protection, secret scanning, Dependabot, SECURITY.md, and least-privilege tokens.

  • Build in the Open, Part 11: Releases — Cadence, Pre-Release vs. Release, SemVer & Changelogs

    June 28, 2026

    How to ship software releases the right way — Semantic Versioning, pre-releases, git tags, Keep a Changelog notes, and automated, checksummed builds.

  • Build in the Open, Part 10: Websites, Support Pages & GitHub Pages

    June 27, 2026

    How to give a project a free website — enabling GitHub Pages, a Jekyll static site, a custom domain via CNAME, support and sponsor pages, and a drip-released blog.

  • Build in the Open, Part 9: Documentation Done Right — What Lives Where

    June 26, 2026

    How to organize project documentation — README, CONTRIBUTING, SECURITY, CHANGELOG, in-repo docs — using the Diátaxis framework so docs are findable and don't rot.

  • Build in the Open, Part 8: Testing — How to Build and Write Tests

    June 25, 2026

    How to test software well — the testing pyramid, table-driven tests, golden files, race detection, coverage limits, and writing tests with Claude Code.

  • Build in the Open, Part 7: GitHub Actions — Which Workflows to Create and Why

    June 24, 2026

    Which GitHub Actions workflows most projects need — CI, security scanning, release automation, docs build, scheduled jobs — and how to gate merges with them.

  • Build in the Open, Part 6: Planning & Tracking Work — and Inviting Contributors

    June 23, 2026

    How to plan work with GitHub Issues, labels, milestones, and Projects, link issues to PRs, and onboard contributors with CONTRIBUTING, templates, and roles.

  • Build in the Open, Part 5: Branching & the Three Ways to Merge to Main

    June 22, 2026

    How to use Git branches and pick the right GitHub merge strategy — merge commit, squash & merge, or rebase & merge — with a clear "use this when" for each.

  • Build in the Open, Part 4: Git & GitHub Fundamentals (Using the Web Interface)

    June 21, 2026

    A beginner's Git mental model — commits, branches, remotes, the staging area — and how to create a repo, edit files, and open your first pull request entirely in the GitHub web UI.

  • Build in the Open, Part 3: Brainstorming Features with Claude & Writing the README as Your Roadmap

    June 20, 2026

    How to research a domain and brainstorm features with Claude Code, then write a README that doubles as a living roadmap — plus what CLAUDE.md is for.

  • Build in the Open, Part 2: Choosing Your Language, Platforms & Tech Stack

    June 19, 2026

    How to choose a programming language and tech stack — let your constraints (platforms, performance, distribution, team skills) decide, with GopherTrunk as a worked example.

  • Build in the Open, Part 1: Picking What to Build — How Pros Decide

    June 18, 2026

    How experienced developers choose what software to build — validating demand, scoping a first version, and avoiding the build-trap, with GopherTrunk as a worked example.

See all posts or subscribe via RSS.

Start scanning in minutes

GopherTrunk turns a cheap RTL-SDR dongle into a full digital-trunking scanner — P25, DMR, TETRA, NXDN and more, decoded by one pure-Go static binary with nothing else to install. Download the latest build and follow your first system tonight.

Download GopherTrunk v0.5.7 →

Help keep GopherTrunk growing

GopherTrunk is free, open source, and built in spare time. If it's earned a spot in your shack, a small tip funds the next protocol, feature, and guide — and keeps it all free for everyone.

Buy me a coffee GitHub Sponsors
Edit this page on GitHub →

Join the GopherTrunk community

Stuck on a system, IDing a mystery signal, or have a feature in mind? Swap notes with other operators on Discord and Reddit — questions get answered fast.

Join the Discord r/GopherTrunk

Project

  • README
  • License
  • Changelog
  • Security

Community

  • Discord
  • Reddit — r/GopherTrunk
  • GitHub Sponsors
  • Ko-fi
  • Issues
  • More ways to help

Built with

  • Jekyll + GitHub Pages
  • Custom layout, no theme
  • Apache 2.0 licensed
© 2026 GopherTrunk contributors. Site map · Page generated by GitHub Pages.