# 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](getting-started.md) **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](first-audit.md) **Time:** 10-15 minutes **Prerequisites:** [Getting Started](getting-started.md) 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?** - Want to solve a specific problem? → [How-To Guides](../how-to/) - Looking for technical details? → [Reference](../reference/) - Want to understand the design? → [Explanation](../explanation/) --- ## 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](https://diataxis.fr/tutorials/) for detailed guidance. --- *Part of the [ngit-grasp documentation](../README.md) using the [Diátaxis](https://diataxis.fr/) framework.*