{"id":49865930,"url":"https://github.com/lukasniessen/terrashark","last_synced_at":"2026-05-15T03:00:16.980Z","repository":{"id":340114005,"uuid":"1164610149","full_name":"LukasNiessen/terrashark","owner":"LukasNiessen","description":"Terraform Skill for Claude Code and Codex. LLMs hallucinate a lot with Terraform - TerraShark fixes this. It eliminates hallucinations, is designed for modular and secure code and grounds your IaC in the official Hashicorp Terraform best practices.","archived":false,"fork":false,"pushed_at":"2026-05-03T10:36:26.000Z","size":353,"stargazers_count":337,"open_issues_count":7,"forks_count":15,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-05-15T03:00:09.094Z","etag":null,"topics":["aws","azure","claude","claude-code","claude-code-skills","claude-skills","codex","codex-skills","devops","gcp","infrastructure-as-code","modules","opentofu","skills","terraform"],"latest_commit_sha":null,"homepage":"https://terraformskill.com/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LukasNiessen.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-23T09:32:12.000Z","updated_at":"2026-05-14T13:52:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"15b289a1-7fd2-45a5-b5ed-651101cdf431","html_url":"https://github.com/LukasNiessen/terrashark","commit_stats":null,"previous_names":["lukasniessen/terrashark"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/LukasNiessen/terrashark","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukasNiessen%2Fterrashark","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukasNiessen%2Fterrashark/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukasNiessen%2Fterrashark/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukasNiessen%2Fterrashark/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LukasNiessen","download_url":"https://codeload.github.com/LukasNiessen/terrashark/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukasNiessen%2Fterrashark/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33051875,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-15T02:00:06.351Z","response_time":103,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","azure","claude","claude-code","claude-code-skills","claude-skills","codex","codex-skills","devops","gcp","infrastructure-as-code","modules","opentofu","skills","terraform"],"created_at":"2026-05-15T03:00:05.138Z","updated_at":"2026-05-15T03:00:16.972Z","avatar_url":"https://github.com/LukasNiessen.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Terraform Skill for Claude Code and Codex: TerraShark\n\n\u003cdiv align=\"center\" name=\"top\"\u003e\n  \u003cimg align=\"center\" src=\"assets/logo.png\" width=\"180\" height=\"180\" alt=\"TerraShark Logo\"\u003e\n\n\u003c!-- spacer --\u003e\n\u003cp\u003e\u003c/p\u003e\n\n[![Claude Skill](https://img.shields.io/badge/Claude-Skill-6272F5)](https://docs.claude.ai/docs/agent-skills)\n[![Codex Skill](https://img.shields.io/badge/Codex-Skill-10A37F)](https://developers.openai.com/codex/skills/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![GitHub stars](https://img.shields.io/github/stars/LukasNiessen/terrashark.svg)](https://github.com/LukasNiessen/terrashark)\n\n\u003c/div\u003e\n\nThe #1 Terraform skill for Claude Code and Codex, measured by GitHub stars.\n\n### Fixes Hallucinations.\n\nLLMs hallucinate a lot when it comes to Terraform. This skill fixes it. It includes best practices for Terraform and OpenTofu - good, bad, and neutral examples so the AI avoids common mistakes. Using TerraShark, the AI keeps proven practices in mind, eliminates hallucinations, and defaults to modular, reusable, security-first design.\n\n### Very Token-Efficient.\n\nMost Terraform skills dump huge text-of-walls onto the agent and burn expensive tokens - with no upside. LLMs don't need the entire Terraform docs again. TerraShark was aggressively de-duplicated and optimized for maximum quality per token.\n\n### Based on HashiCorp's Official Best Practices.\n\nTerraShark is primarily based on [HashiCorp official recommended practices](https://developer.hashicorp.com/terraform/cloud-docs/recommended-practices). When guidance conflicts, it prioritizes HashiCorp's recommendations.\n\n---\n\n[Quick Start](#-quick-start) • [Why TerraShark?](#-library-comparison) • [Token Strategy](#-token-strategy) • [What's Included](#-whats-included) • [How It Works](#-how-it-works) • [Philosophy](PHILOSOPHY.md)\n\n---\n\n## ⚡ 2 min Quickstart\n\n### Option 1: Clone\n\n**macOS / Linux:**\n\n```bash\ngit clone https://github.com/LukasNiessen/terrashark.git ~/.claude/skills/terrashark\n```\n\n**Windows (Powershell):**\n\n```powershell\ngit clone https://github.com/LukasNiessen/terrashark.git \"$env:USERPROFILE\\.claude\\skills\\terrashark\"\n```\n\n**Windows (Command Prompt):**\n\n```powershell\ngit clone https://github.com/LukasNiessen/terrashark.git \"%USERPROFILE%\\.claude\\skills\\terrashark\"\n```\n\nThat's it. Claude Code auto-discovers skills in `~/.claude/skills/` - no restart needed.\n\n### Option 2: Marketplace\n\nClaude Code has a built-in plugin system with marketplace support. Instead of cloning manually, you can add TerraShark's marketplace and install directly from the CLI:\n\n```\n/plugin marketplace add LukasNiessen/terrashark\n/plugin install terrashark\n```\n\nOr use the interactive plugin manager - run `/plugin`, switch to the **Discover** tab, and install from there. The marketplace reads the `.claude-plugin/marketplace.json` in this repo to register TerraShark as an installable plugin.\n\n### Option 3: Codex\n\nCodex has no global skill system - setup is per-project. Clone TerraShark into your repo and reference it from your `AGENTS.md`:\n\n```bash\n# Clone into your project root\ngit clone https://github.com/LukasNiessen/terrashark.git .terrashark\n```\n\nThen add to your `AGENTS.md` (or create one in the repo root):\n\n```markdown\n## Terraform\n\nWhen working with Terraform or OpenTofu, follow the workflow in `.terrashark/SKILL.md`.\nLoad references from `.terrashark/references/` as needed.\n```\n\n### That's it!\n\nDone. Now ask Claude Code / Codex any Terraform question. TerraShark responses follow the 7-step failure-mode workflow and include an output contract with assumptions, tradeoffs, and rollback notes.\n\n**Invoke explicitly:**\n\n```bash\n/terrashark Create a multi-region S3 module with replication\n```\n\n```bash\n/terrashark Refactor our EKS stack into separate state files per environment, add moved blocks to avoid recreation, set up a GitHub Actions pipeline with plan on PR and gated apply on merge, and wire in Checkov for compliance scanning\n```\n\n**Or just ask naturally** - TerraShark activates automatically for any Terraform/OpenTofu task:\n\n```\nReview my main.tf for security issues\n```\n\n```\nMigrate this module from count to for_each\n```\n\n## 🎬 Demo\n\nhttps://github.com/user-attachments/assets/2bc4c9ff-9f54-4a49-8bf0-5cfc0f26dec6\n\n## 📊 Library Comparison\n\nHere's how TerraShark compares to other Terraform and OpenTofu agent skills:\n\n| Feature                          | **TerraShark**                                        | **Anton Babenko terraform-skill** | **terraform-patterns**               |\n| -------------------------------- | ----------------------------------------------------- | --------------------------------- | ------------------------------------ |\n| **Core Architecture**            | ✅ Failure-mode workflow                              | ⚠️ Static reference manual        | ⚠️ Pattern checklist                 |\n| **SKILL.md Activation Cost**     | ✅ ~600 tokens                                        | ⚠️ ~4,400 tokens                  | ⚠️ Single broad reference            |\n| **Reference Granularity**        | ✅ 19 focused files                                   | ⚠️ 6 large files                  | ❌ No focused reference library      |\n| **Token Burn Per Query**         | ✅ Low (load 1-2 small refs)                          | ⚠️ High for deep references       | ⚠️ Loads broad guidance              |\n| **Diagnoses Before Generating**  | ✅ Step 2 requires diagnosis                          | ❌ No                             | ❌ No                                |\n| **Hallucination Prevention**     | ✅ Core design goal                                   | ⚠️ Indirect via best practices    | ⚠️ Indirect via patterns             |\n| **Output Contract**              | ✅ Assumptions, tradeoffs, rollback                   | ❌ No                             | ❌ No                                |\n| **Failure-Mode Coverage**        | ✅ Identity, secrets, blast radius, CI, compliance    | ⚠️ General state/security advice  | ⚠️ General anti-pattern summary      |\n| **Migration Playbooks**          | ✅ 5 dedicated playbooks                              | ⚠️ Partial inline snippets        | ⚠️ Import and moved-block notes      |\n| **Good/Bad/Neutral Examples**    | ✅ 3 dedicated files                                  | ⚠️ Inline DO/DON'T examples       | ⚠️ Inline BAD/GOOD snippets          |\n| **Do/Don't Checklist**           | ✅ Dedicated file                                     | ⚠️ Inline only                    | ⚠️ Inline only                       |\n| **Compliance Framework Mapping** | ✅ ISO 27001, SOC 2, FedRAMP, GDPR, PCI DSS, HIPAA    | ⚠️ Scanner-oriented guidance      | ❌ No                                |\n| **Trusted Module Awareness**     | ✅ AWS, Azure, GCP, OCI, IBM loaded conditionally     | ⚠️ AWS module context             | ❌ No                                |\n| **MCP Integration Guidance**     | ✅ Dedicated reference                                | ⚠️ Optional Terraform MCP mention | ❌ No                                |\n| **Claude + Codex Support**       | ✅ First-class Claude Code and Codex setup            | ⚠️ Broad multi-agent setup        | ⚠️ Claude plugin oriented            |\n| **Security-First Defaults**      | ✅ Built into the workflow                            | ⚠️ Checklist-style                | ⚠️ Style-guide based                 |\n| **CI/CD Templates**              | ✅ GitHub Actions, GitLab CI, Atlantis, Infracost     | ✅ GitHub Actions, GitLab CI      | ⚠️ Pipeline rules only               |\n| **License**                      | ✅ MIT                                                | ⚠️ Apache 2.0                     | ❌ Not highlighted in skill listing  |\n\nAs you see in the table, there are some features that are only supported by us. Here is a brief highlight of those that we believe are the most critical of them:\n\n- **Failure-mode workflow**: TerraShark does not just give the agent Terraform facts. It forces the agent to identify the likely failure mode first, then load the exact reference material needed for that risk.\n\n- **Output contract**: TerraShark responses include assumptions, remediation choices, tradeoffs, validation steps, and rollback notes. Other skills leave that structure to the model.\n\n- **Token efficiency**: TerraShark keeps the activation path tiny and moves depth into focused references. This gives the agent the right Terraform context without turning every request into a large reference dump.\n\n- **Compliance mapping**: TerraShark includes explicit mappings for ISO 27001, SOC 2, FedRAMP, GDPR, PCI DSS, and HIPAA. Other skills focus more on scanners than audit-ready control mapping.\n\n- **Trusted module awareness**: TerraShark knows when to prefer mature vendor and community modules for AWS, Azure, GCP, Oracle Cloud, and IBM Cloud, reducing the surface area for hallucinated raw resources.\n\n- **LLM-specific hallucination prevention**: TerraShark is designed around the ways AI agents fail at infrastructure code: unstable identity, leaked secrets, wide blast radius, CI drift, and weak compliance gates.\n\n### TerraShark vs terraform-skill\n\nThe key difference is architectural. **terraform-skill** is a static reference manual: it dumps ~4,400 tokens into context on every activation, then loads additional reference files that can be over 1,000 lines each. It gives Claude information but never tells it _how to think_ about a problem. There's no diagnosis step, no risk assessment, and no structured output - Claude reads the reference and generates whatever it thinks fits.\n\n**TerraShark** takes the opposite approach. The core SKILL.md is an 86-line operational workflow that costs ~600 tokens on activation - **over 7x leaner**. Instead of front-loading a wall of text, it forces Claude through a diagnostic sequence: capture context → identify failure modes → load _only_ the relevant references → propose fixes with explicit risk controls → validate → deliver a structured output contract.\n\nThis matters for three reasons:\n\n1. **Token efficiency.** terraform-skill burns ~4,400 tokens just to activate, before any reference files. A single reference file like `module-patterns.md` (1,126 lines, ~7,000 tokens) can double the cost again. TerraShark's activation is ~600 tokens, and its 19 granular reference files mean Claude loads only what's needed - typically one or two small, focused docs instead of one massive dump.\n\n2. **Hallucination prevention.** terraform-skill provides good patterns but never asks Claude to _diagnose what could go wrong_. TerraShark's Step 2 forces failure-mode identification before any code is generated. Step 4 requires explicit risk controls for every fix. Step 7 enforces an output contract with assumptions, tradeoffs, and rollback notes. This is the difference between giving someone a cookbook and giving them a diagnostic checklist.\n\n3. **Reference coverage.** TerraShark ships 19 focused reference files covering failure modes, backend-specific state safety, migration playbooks, good/bad/neutral examples, do/don't checklists, compliance framework mappings, and MCP integration. terraform-skill has 6 larger files that go deep on testing and module patterns but lack migration playbooks, explicit anti-pattern banks, compliance mappings beyond a few frameworks, and MCP guidance.\n\n**In short:** TerraShark is the better skill due to 7x leaner activation, failure-mode-first diagnostic workflow, output contracts, granular references, and LLM-specific hallucination prevention. terraform-skill wins on HCL example depth and testing docs, but TerraShark's architecture is fundamentally better designed for the core use case of LLM-assisted IaC generation.\n\n---\n\n## 🕵️ Token Strategy\n\n- Keep `SKILL.md` procedural and compact\n- Keep references focused on failure-prone decisions\n- Exclude broad tutorial material with low safety impact\n- Add depth only when measured quality would otherwise drop\n\nSee `references/token-balance-rationale.md` for the full decision and tradeoffs.\n\n## 🧱 Trusted Module Awareness\n\nHand-rolled `resource` blocks are one of the largest hallucination surfaces for LLMs; attribute names, defaults, and iteration shapes are where models drift. TerraShark recognizes the major vendor-maintained and community module registries and defaults to using them instead of generating raw resources, whenever a mature module covers the requested service.\n\n### How it helps\n\n- A pinned registry module replaces hundreds of lines of hand-rolled HCL with a version-locked interface already tested across many production stacks\n- Removes attribute-name, default-value, and `for_each` drift; the exact spots where LLMs slip\n- Enforces **exact** version pinning for production, so module upgrades don't silently change generated resource addresses\n\n### When it loads (lean-token approach)\n\n`references/conditional/trusted-modules.md` is pulled into context **only when the detected provider is one of the supported clouds**. AWS-only projects never pay the token cost for Azure or GCP guidance, and vice versa, matching TerraShark's core token-efficiency design.\n\n### Supported providers\n\n| Cloud        | Registry namespace         | Program                            |\n| ------------ | -------------------------- | ---------------------------------- |\n| AWS          | `terraform-aws-modules`    | Community standard                 |\n| Azure        | `Azure`                    | Azure Verified Modules (AVM)       |\n| GCP          | `terraform-google-modules` | Cloud Foundation Toolkit           |\n| Oracle Cloud | `oracle-terraform-modules` | Vendor-maintained                  |\n| IBM Cloud    | `terraform-ibm-modules`    | IBM Deployable Architectures       |\n\nOther ecosystems (Alibaba Cloud, DigitalOcean, Hetzner, etc.) are intentionally not included yet, their module programs are still small or early-stage, so recommending them as defaults would trade one failure mode (hallucinated attributes) for another (unmaintained wrappers). If a provider's ecosystem matures, it can be added later.\n\n## 🐣 What's Included\n\n- A focused `SKILL.md` execution flow\n- Failure-mode-first guidance to prevent common IaC hallucinations\n- Core failure-mode references: identity churn, secret exposure, blast radius, CI drift, compliance gates\n- Backend-specific state safety loaded conditionally for state storage, locking, migration, and restore work\n- Expanded architecture guidance (state, boundaries, module roles)\n- Refactor/migration playbooks for safe evolution\n- Stronger CI/CD and governance patterns (including Atlantis + Infracost)\n- Risk-based test depth guidance with native test caveats and Terratest coverage\n- Rewritten good/bad/neutral example bank\n- Do/Don't pattern bank and MCP integration guidance\n- Trusted community/vendor module awareness (AWS, Azure, GCP, OCI, IBM) loaded conditionally\n\n## 🔲 Repository Layout\n\nHere an overview of the repository layout.\n\n| File                                    | Description                                                   |\n| --------------------------------------- | ------------------------------------------------------------- |\n| `SKILL.md`                              | Operational workflow for TerraShark                           |\n| `PHILOSOPHY.md`                         | Design strategy, architecture decisions, token experiment     |\n| `references/identity-churn.md`          | Address stability, `count`/`for_each`, `moved` safety         |\n| `references/secret-exposure.md`         | Preventing secret leakage through state/logs/artifacts        |\n| `references/blast-radius.md`            | State boundaries, environment isolation, apply impact control |\n| `references/ci-drift.md`                | Production CI drift prevention and plan/apply integrity       |\n| `references/compliance-gates.md`        | Policy gates, approvals, evidence, framework mappings         |\n| `references/structure-and-state.md`     | State, boundaries, and apply safety                           |\n| `references/conditional/backend-state-safety.md` | Backend-specific state safety and migration guardrails |\n| `references/module-architecture.md`     | Module role model and composition rules                       |\n| `references/coding-standards.md`        | Naming, typing, iteration, versioning                         |\n| `references/migration-playbooks.md`     | moved/import/refactor/upgrade playbooks                       |\n| `references/testing-matrix.md`          | Test tiering, native test caveats, Terratest guidance         |\n| `references/ci-delivery-patterns.md`    | CI stages and production-oriented pipeline templates          |\n| `references/security-and-governance.md` | Security controls and operational governance                  |\n| `references/quick-ops.md`               | Command sequence and troubleshooting shortcuts                |\n| `references/examples-good.md`           | Strong implementation examples                                |\n| `references/examples-bad.md`            | Anti-pattern examples                                         |\n| `references/examples-neutral.md`        | Context-based tradeoff examples                               |\n| `references/do-dont-patterns.md`        | Do/Don't pattern checklist                                    |\n| `references/mcp-integration.md`         | MCP integration guidance                                      |\n| `references/conditional/trusted-modules.md` | Canonical community/vendor modules per cloud (conditional) |\n| `references/token-balance-rationale.md` | Why the skill stays lean and where depth is kept              |\n| `.github/workflows/validate.yml`        | CI validation for skill structure and links                   |\n| `.github/PULL_REQUEST_TEMPLATE.md`      | PR quality and failure-mode checklist                         |\n| `.claude-plugin/marketplace.json`       | Plugin metadata                                               |\n\n## 🔎 How It Works\n\nThe skill runs as a failure-mode workflow whenever Claude Code handles Terraform or OpenTofu tasks:\n\n1. **Capture execution context** - Runtime/version, providers, backend, execution path, risk level\n2. **Diagnose likely failure mode(s)** - Identity churn, secret exposure, blast radius, CI drift, compliance gate gaps\n3. **Load only relevant references** - Pull targeted guidance for the failure mode(s) in scope\n4. **Propose fix path with controls** - Include risk notes, approvals, tests, and rollback expectations\n5. **Generate implementation artifacts** - HCL changes, migration blocks, CI/policy updates\n6. **Validate before finalize** - Runtime-appropriate command sequence and risk-tier checks\n7. **Deliver complete output** - Assumptions, remediation choices, tradeoffs, validation plan, recovery notes\n\n## 🐲 Scope\n\n- Terraform and OpenTofu module design/review/refactoring\n- Safe migration workflows for existing stacks\n- CI/CD and policy integration for infrastructure delivery\n- Blast-radius reduction and operational safety\n\n## ℹ️ FAQ\n\n**Q: Does this work with OpenTofu?**\n\nYes. TerraShark supports both Terraform and OpenTofu. The workflow captures runtime/version first and adapts guidance accordingly.\n\n**Q: Will this slow down my AI interactions?**\n\nNo. The skill is designed for low token overhead. Only relevant references should be loaded for a given failure mode.\n\n**Q: Can I use this outside Claude Code?**\n\nYes. The references are plain Markdown and can be used from any workflow or AI assistant, **including Codex**. The trigger behavior in `SKILL.md` is optimized for skill-enabled environments.\n\n**Q: How was the content validated?**\n\nWe started with much larger references and a large automated test suite, then repeatedly removed sections and re-tested. If quality dropped, content was restored. If quality stayed stable, content remained out.\n\n## 🦊 Contributing\n\nWe highly appreciate contributions. See [CONTRIBUTING.md](CONTRIBUTING.md) and use the PR template for failure-mode and validation details.\n\n## 💟 Community\n\n### Maintainers\n\n• **[LukasNiessen](https://github.com/LukasNiessen)** - Creator and main maintainer\n\n• **[janMagnusHeimann](https://github.com/janMagnusHeimann)** - Main maintainer\n\n• **[TristanKruse](https://github.com/TristanKruse)** - Main maintainer\n\n### Contributors\n\n\u003ca href=\"https://github.com/LukasNiessen/terrashark/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=LukasNiessen/terrashark\u0026max=1000\u0026contributors=10\" /\u003e\n\u003c/a\u003e\n\n### Questions\n\nFound a bug? Want to discuss features?\n\n- Submit an [issue on GitHub](https://github.com/LukasNiessen/terrashark/issues/new/choose)\n- Join [GitHub Discussions](https://github.com/LukasNiessen/terrashark/discussions)\n\nIf TerraShark helps your project, please consider:\n\n- Starring the repository\n- Suggesting new features\n- Contributing code or documentation\n\n### Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=LukasNiessen/terrashark\u0026type=Date)](https://www.star-history.com/#LukasNiessen/terrashark\u0026Date)\n\n## 📄 License\n\nThis project is under the **MIT** license.\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#top\"\u003e\u003cstrong\u003eGo Back to Top\u003c/strong\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## Other\n\n**Version:** v2.3.0\n\n**Website:** https://terraformskill.com/\n\n**GitHub Pages:** [https://lukasniessen.github.io/terrashark/](https://lukasniessen.github.io/terrashark/)\n\n## Conditional Reference Retrieval (CRR)\n\nTerraShark adheres to Conditional Reference Retrieval (CRR): conditional references live under `references/conditional/`, are loaded only when concrete signals are detected, and neighboring conditional references are not loaded unless the task spans multiple detected routes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukasniessen%2Fterrashark","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flukasniessen%2Fterrashark","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukasniessen%2Fterrashark/lists"}