Files

Tutorials

Learning-oriented documentation - Learn by doing with step-by-step guidance.


What Are Tutorials?

Tutorials are lessons that teach you how to use ngit-grasp through practical, hands-on steps.

Characteristics:

  • Learning-oriented (teach beginners)
  • Practical (you follow along)
  • Step-by-step with guaranteed outcomes
  • Complete from start to finish
  • Safe to experiment with

Not tutorials:

  • Problem-solving guides (those are How-To)
  • Technical references (those are Reference)
  • Conceptual explanations (those are Explanation)

Available Tutorials

Getting Started

Time: 15-20 minutes
Learn: Set up ngit-grasp development environment, build and test the code

You'll accomplish:

  • Clone and build the project
  • Set up Nix development environment
  • Run tests successfully
  • Understand project structure

Start here if: You're brand new to ngit-grasp


Running Your First Audit

Time: 10-15 minutes
Prerequisites: Getting Started completed
Learn: Use grasp-audit to check GRASP compliance

You'll accomplish:

  • Run compliance tests against a relay
  • Interpret audit results
  • Use the audit tool library
  • Understand GRASP requirements

Start here if: You want to test GRASP compliance


Planned Tutorials

Deploying Your First GRASP Relay

Status: 🔜 Planned (waiting for main server implementation)

You'll learn:

  • Deploy ngit-grasp to production
  • Configure for your domain
  • Set up HTTPS with reverse proxy
  • Create your first repository

Contributing Your First PR

Status: 🔜 Planned

You'll learn:

  • Find an issue to work on
  • Set up development environment
  • Make changes and test
  • Submit a pull request

How to Use Tutorials

  1. Follow in order - Each step builds on previous ones
  2. Actually do the steps - Don't just read, type the commands
  3. Expect success - If something fails, check troubleshooting
  4. Learn by doing - Understanding comes from practice

Not sure if this is what you need?


Contributing Tutorials

When writing a tutorial:

DO:

  • Start with a clear learning goal
  • Provide complete, tested steps
  • Include expected output
  • Add troubleshooting section
  • Keep it focused (one topic)
  • Test with a beginner

DON'T:

  • Assume prior knowledge (or state prerequisites clearly)
  • Skip steps ("obviously you would...")
  • Explain every detail (link to Explanation docs)
  • Try to cover everything (keep scope small)

See Diátaxis: Tutorials for detailed guidance.


Part of the ngit-grasp documentation using the Diátaxis framework.