{"index":{"backlinks":{"/blog/20101118-learning-selenium":[],"/blog/20101204-git-with-svn":[],"/blog/20101205-how-to-be-a-bad-boss":[],"/blog/20101212-deal-with-email-overload":[],"/blog/20101215-js-unit-testing-using-yui":[],"/blog/20101231-minimum-developement-enviornment":[],"/blog/20110104-what-the-restaurant-industry-can-teach-the-software-industry":[],"/blog/20110110-problems-with-agile-implementation":[],"/blog/20110711-understand-capistrano-without-rails":[],"/blog/20110908-software-hazard-pay":[],"/blog/20120309-factory-girl-automatic-tests":[],"/blog/20120519-the-everyone-elses-job-is-easy-paradox":[],"/blog/20120520-the-problem-with-best-practices":[],"/blog/20120911-testing-rails-in-ie-through-pow":[],"/blog/20140410-code-does-rust":[],"/blog/20140622-google-sheets-query-language":[],"/blog/20140623-rake-publish":[],"/blog/20140802-bats":[],"/blog/20140917-ruby-sucks-kind-of":[],"/blog/20140921-using-amperstand-instead-of-if":[],"/blog/20140929-golang-stream-file":[],"/blog/20141017-go-concurrency-patterns":[],"/blog/20141215-emacs-key-binding":[],"/blog/20150210-emacs-full-screen":[],"/blog/20150210-emacs-tabs-and-tab-groups":[],"/blog/20151230-hugo-blog-development":[],"/blog/20160101-forcing-factors":[],"/blog/20160118-story-points-done-wrong":[],"/blog/20160202-gitflow-simple":[],"/blog/20160423-packer-ova":[],"/blog/20161203-managing-base-docker-images":[],"/blog/20171021-docker-details-dumb-init":[],"/blog/20250406-wikilinks":[{"source":"/blog/20250406-wikilinks","target":"/blog/20250406-wikilinks","text":"Hugo Wikilinks"},{"source":"/blog/20250406-wikilinks","target":"/blog/20250406-wikilinks","text":"Hugo Wikilinks"},{"source":"/blog/20250406-wikilinks","target":"/blog/20250406-wikilinks","text":"Hugo Wikilinks"}],"/blog/20250418-kustomize-rollout":[],"/blog/20250514-rag-pipeline":[],"/blog/20250615-blast-radius":[],"/blog/20260603-ai-proof-software-careers":[],"/blog/20260605-agent-skills":[],"/contentindex/index.json":[],"/garden/12-factor-app":[{"source":"/garden/continuous-deployment","target":"/garden/12-factor-app","text":"12 Factor App"},{"source":"/garden/environment-managers","target":"/garden/12-factor-app","text":"12 Factor App"},{"source":"/garden/containerization","target":"/garden/12-factor-app","text":"12 Factor App"},{"source":"/garden/software-as-a-service","target":"/garden/12-factor-app","text":"12 Factor App"},{"source":"/garden/enterprise-ready","target":"/garden/12-factor-app","text":"12 Factor App"},{"source":"/garden/enterprise-ready","target":"/garden/12-factor-app","text":"12 Factor App"}],"/garden/3-point-estimate":[{"source":"/garden/planning-poker","target":"/garden/3-point-estimate","text":"3 Point Estimate"}],"/garden/a-model-of-communication":[],"/garden/access-on-demand":[{"source":"/garden/single-sign-on","target":"/garden/access-on-demand","text":"Access on Demand"},{"source":"/garden/auth0","target":"/garden/access-on-demand","text":"Access on Demand"},{"source":"/garden/boundary-hashicorp","target":"/garden/access-on-demand","text":"Access on Demand"}],"/garden/agent-client-protocol":[{"source":"/garden/ai-techniques","target":"/garden/agent-client-protocol","text":"Agent Client Protocol"},{"source":"/garden/ide","target":"/garden/agent-client-protocol","text":"Agent Client Protocol"},{"source":"/garden/ai-agent","target":"/garden/agent-client-protocol","text":"Agent Client Protocol"},{"source":"/garden/hermes-agent","target":"/garden/agent-client-protocol","text":"Agent Client Protocol"}],"/garden/agent-skills-framework":[{"source":"/blog/20260605-agent-skills","target":"/garden/agent-skills-framework","text":"Agent Skills Framework"},{"source":"/garden/ai-techniques","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/ai-techniques","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/claude-code","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/claude-code","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/codex","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/gemini","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/gemini","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/ide","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/agent-skills-sources","target":"/garden/agent-skills-framework","text":"Agent Skills Framework"},{"source":"/garden/agent-skills-sources","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/gbrain","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/agent-client-protocol","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/ai-agent","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/hermes-agent","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/hermes-agent","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/genesis","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/genesis","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/agent-skills-framework","text":"Agent Skills"}],"/garden/agent-skills-sources":[{"source":"/blog/20260605-agent-skills","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/ai-techniques","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/claude-code","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/codex","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/codex","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/cursor","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/cursor-agent","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/gemini","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/agent-skills-framework","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/agent-skills-framework","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/agent-skills-framework","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/genesis","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"}],"/garden/agile-software-development":[{"source":"/garden/scrum","target":"/garden/agile-software-development","text":"Agile Software Development"},{"source":"/garden/devops","target":"/garden/agile-software-development","text":"Agile Software Development"},{"source":"/garden/devsecops","target":"/garden/agile-software-development","text":"Agile Software Development"},{"source":"/garden/devsecops","target":"/garden/agile-software-development","text":"Agile Software Development"},{"source":"/garden/technique","target":"/garden/agile-software-development","text":"Agile Software Development"}],"/garden/ai-agent":[{"source":"/garden/cline","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/cline","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/kilo-ai","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/kilo-ai","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/kilo-ai","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/ai-techniques","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/ai-techniques","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/claude-code","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/claude-code","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/claude-code","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/codex","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/codex","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/cursor","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/cursor-agent","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/cursor-agent","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/cursor-agent","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/gemini","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/gemini","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/gemini","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/ide","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/ollama","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/ollama","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/openclaw","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/opencode","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/opencode","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/opencode","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/hermes-agent","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/genesis","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/tool","target":"/garden/ai-agent","text":"AI Agent"}],"/garden/ai-techniques":[{"source":"/garden/agent-skills-sources","target":"/garden/ai-techniques","text":"AI Techniques"},{"source":"/garden/gbrain","target":"/garden/ai-techniques","text":"AI Techniques"},{"source":"/garden/agent-skills-framework","target":"/garden/ai-techniques","text":"AI Techniques"},{"source":"/garden/design-pattern","target":"/garden/ai-techniques","text":"AI Techniques"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/ai-techniques","text":"AI Techniques"},{"source":"/garden/technique","target":"/garden/ai-techniques","text":"AI Techniques"}],"/garden/ansible":[{"source":"/garden/first-touch-provisioning","target":"/garden/ansible","text":"Ansible"},{"source":"/garden/python","target":"/garden/ansible","text":"Ansible"},{"source":"/garden/python","target":"/garden/ansible","text":"Ansible"},{"source":"/garden/python","target":"/garden/ansible","text":"Ansible"},{"source":"/garden/dev-container","target":"/garden/ansible","text":"Ansible"},{"source":"/garden/declarative-iac","target":"/garden/ansible","text":"Ansible"},{"source":"/garden/argocd","target":"/garden/ansible","text":"Ansible"},{"source":"/garden/capistrano","target":"/garden/ansible","text":"Ansible"}],"/garden/apache-airflow":[{"source":"/garden/dbt-core","target":"/garden/apache-airflow","text":"Apache Airflow"},{"source":"/garden/dbt-core","target":"/garden/apache-airflow","text":"Apache Airflow"},{"source":"/garden/dbt-core","target":"/garden/apache-airflow","text":"Apache Airflow"}],"/garden/api":[{"source":"/garden/grpc","target":"/garden/api","text":"API"},{"source":"/garden/graphql","target":"/garden/api","text":"API"},{"source":"/garden/rest","target":"/garden/api","text":"API"},{"source":"/garden/cursor-keep-alive","target":"/garden/api","text":"API"},{"source":"/garden/technique","target":"/garden/api","text":"API"}],"/garden/argo-workflows":[{"source":"/garden/apache-airflow","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/apache-airflow","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/apache-airflow","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/apache-airflow","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/dbt-core","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/dbt-core","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/ci-cd-tools","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/ci-cd-tools","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/jenkins-x","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/cloudbees","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/argocd","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/github-actions","target":"/garden/argo-workflows","text":"Argo Workflows"}],"/garden/argocd":[{"source":"/garden/harness-io","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/octopus-deploy","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/spinnaker","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/spinnaker","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/apache-airflow","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/argo-workflows","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/argo-workflows","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/single-sign-on","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/continuous-delivery","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/continuous-deployment","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/continuous-deployment","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/continuous-integration","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/containerization","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/declarative-iac","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/aws-eks","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/ci-cd-tools","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/ci-cd-tools","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/gatekeeper","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/software-as-a-service","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/docker-compose","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/devops","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/docker-swarm","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/jenkins-x","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/cloudbees","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/cloudbees","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/github-actions","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/github-actions","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/capistrano","target":"/garden/argocd","text":"ArgoCD"}],"/garden/artificial-intelligence-machine-learning":[{"source":"/garden/ai-techniques","target":"/garden/artificial-intelligence-machine-learning","text":"Artificial Intelligence & Machine Learning"},{"source":"/garden/ai-agent","target":"/garden/artificial-intelligence-machine-learning","text":"Artificial Intelligence & Machine Learning"},{"source":"/garden/technique","target":"/garden/artificial-intelligence-machine-learning","text":"Artificial Intelligence & Machine Learning"}],"/garden/asciiflow":[{"source":"/garden/diagramming","target":"/garden/asciiflow","text":"AsciiFlow"},{"source":"/garden/diagramming","target":"/garden/asciiflow","text":"AsciiFlow"},{"source":"/garden/draw-io","target":"/garden/asciiflow","text":"AsciiFlow"}],"/garden/auth0":[{"source":"/garden/frontegg","target":"/garden/auth0","text":"Auth0"},{"source":"/garden/frontegg","target":"/garden/auth0","text":"Auth0"},{"source":"/garden/single-sign-on","target":"/garden/auth0","text":"Auth0"},{"source":"/garden/software-as-a-service","target":"/garden/auth0","text":"Auth0"},{"source":"/garden/boundary-hashicorp","target":"/garden/auth0","text":"Auth0"},{"source":"/garden/enterprise-ready","target":"/garden/auth0","text":"Auth0"}],"/garden/aws":[{"source":"/garden/cloud","target":"/garden/aws","text":"AWS"},{"source":"/garden/cloud","target":"/garden/aws","text":"AWS"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/aws","text":"AWS"},{"source":"/blog/20250615-blast-radius","target":"/garden/aws","text":"AWS"},{"source":"/garden/aws-eks","target":"/garden/aws","text":"AWS"},{"source":"/garden/aws-eks","target":"/garden/aws","text":"AWS"},{"source":"/garden/azure","target":"/garden/aws","text":"AWS"},{"source":"/garden/jenkins","target":"/garden/aws","text":"AWS"}],"/garden/aws-eks":[{"source":"/garden/cloud","target":"/garden/aws-eks","text":"AWS EKS"},{"source":"/garden/cloud","target":"/garden/aws-eks","text":"AWS EKS"},{"source":"/garden/aws","target":"/garden/aws-eks","text":"AWS EKS"},{"source":"/garden/aws","target":"/garden/aws-eks","text":"AWS EKS"}],"/garden/azure":[{"source":"/garden/cloud","target":"/garden/azure","text":"Azure"},{"source":"/garden/cloud","target":"/garden/azure","text":"Azure"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/azure","text":"Azure"},{"source":"/garden/aws","target":"/garden/azure","text":"Azure"},{"source":"/garden/jenkins","target":"/garden/azure","text":"Azure"}],"/garden/bitbucket-pipelines":[],"/garden/boundary-hashicorp":[{"source":"/garden/single-sign-on","target":"/garden/boundary-hashicorp","text":"Boundary (Hashicorp)"},{"source":"/garden/auth0","target":"/garden/boundary-hashicorp","text":"Boundary (Hashicorp)"}],"/garden/capistrano":[{"source":"/garden/continuous-delivery","target":"/garden/capistrano","text":"Capistrano"},{"source":"/garden/continuous-deployment","target":"/garden/capistrano","text":"Capistrano"},{"source":"/garden/ruby","target":"/garden/capistrano","text":"Capistrano"},{"source":"/garden/ansible","target":"/garden/capistrano","text":"Capistrano"},{"source":"/garden/ci-cd-tools","target":"/garden/capistrano","text":"Capistrano"},{"source":"/garden/ruby-on-rails","target":"/garden/capistrano","text":"Capistrano"}],"/garden/cattle-not-pets":[{"source":"/garden/cloud","target":"/garden/cattle-not-pets","text":"Cattle Not Pets"},{"source":"/garden/first-touch-provisioning","target":"/garden/cattle-not-pets","text":"Cattle Not Pets"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/cattle-not-pets","text":"Cattle Not Pets"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/cattle-not-pets","text":"Cattle Not Pets"},{"source":"/garden/containerization","target":"/garden/cattle-not-pets","text":"Cattle Not Pets"},{"source":"/garden/containerization","target":"/garden/cattle-not-pets","text":"Cattle Not Pets"},{"source":"/garden/software-as-a-service","target":"/garden/cattle-not-pets","text":"Cattle Not Pets"},{"source":"/garden/devops","target":"/garden/cattle-not-pets","text":"Cattle Not Pets"},{"source":"/garden/jenkins","target":"/garden/cattle-not-pets","text":"Cattle not pets"}],"/garden/cdks":[{"source":"/garden/declarative-programming","target":"/garden/cdks","text":"CDKs"},{"source":"/garden/python","target":"/garden/cdks","text":"CDKs"},{"source":"/garden/declarative-iac","target":"/garden/cdks","text":"CDKs"}],"/garden/cel":[{"source":"/garden/hcl","target":"/garden/cel","text":"CEL"},{"source":"/garden/language","target":"/garden/cel","text":"CEL"},{"source":"/garden/conftest","target":"/garden/cel","text":"CEL"},{"source":"/garden/conftest","target":"/garden/cel","text":"CEL"},{"source":"/garden/gatekeeper","target":"/garden/cel","text":"CEL"},{"source":"/garden/gatekeeper","target":"/garden/cel","text":"CEL"},{"source":"/garden/gatekeeper","target":"/garden/cel","text":"CEL"},{"source":"/garden/gatekeeper","target":"/garden/cel","text":"CEL"},{"source":"/garden/gatekeeper","target":"/garden/cel","text":"CEL"}],"/garden/chatops":[{"source":"/garden/slack","target":"/garden/chatops","text":"ChatOps"},{"source":"/garden/slack","target":"/garden/chatops","text":"ChatOps"}],"/garden/ci-cd-tools":[{"source":"/garden/bitbucket-pipelines","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/codeship","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/concourse-ci","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/gocd","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/harness-io","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/meercode","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/octopus-deploy","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/spinnaker","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/travis-ci","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/apache-airflow","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/argo-workflows","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/code-scanner","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/dbt-core","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/continuous-delivery","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/continuous-deployment","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/continuous-integration","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/workflow","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/devops","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/cloudbees","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/cloudbees","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/tool","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/argocd","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/github-actions","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/capistrano","target":"/garden/ci-cd-tools","text":"CI-CD Tools"}],"/garden/claude-code":[{"source":"/garden/kilo-ai","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/ai-techniques","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/codex","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/codex","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/codex","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/codex","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/cursor","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/cursor-agent","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/gemini","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/gemini","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/gemini","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/opencode","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/opencode","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/agent-skills-sources","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/agent-skills-sources","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/agent-skills-framework","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/agent-skills-framework","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/ai-agent","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/hermes-agent","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/genesis","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/genesis","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/claude-code","text":"Claude Code"}],"/garden/cline":[{"source":"/garden/agent-skills-framework","target":"/garden/cline","text":"Cline"}],"/garden/cloud":[{"source":"/garden/first-touch-provisioning","target":"/garden/cloud","text":"Cloud"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/cloud","text":"Cloud"},{"source":"/garden/containerization","target":"/garden/cloud","text":"Cloud"},{"source":"/garden/cattle-not-pets","target":"/garden/cloud","text":"Cloud"},{"source":"/garden/aws","target":"/garden/cloud","text":"Cloud"},{"source":"/garden/aws-eks","target":"/garden/cloud","text":"Cloud"},{"source":"/garden/azure","target":"/garden/cloud","text":"Cloud"},{"source":"/garden/platform","target":"/garden/cloud","text":"Cloud"}],"/garden/cloud-lift-and-shift":[{"source":"/garden/cloud","target":"/garden/cloud-lift-and-shift","text":"Cloud Lift and Shift"},{"source":"/garden/hybrid-cloud","target":"/garden/cloud-lift-and-shift","text":"Cloud Lift and Shift"}],"/garden/cloudbees":[{"source":"/garden/devops","target":"/garden/cloudbees","text":"CloudBees"}],"/garden/clutch":[],"/garden/codacy":[{"source":"/garden/code-scanner","target":"/garden/codacy","text":"Codacy"},{"source":"/garden/code-scanner","target":"/garden/codacy","text":"Codacy"},{"source":"/garden/code-review","target":"/garden/codacy","text":"Codacy"},{"source":"/garden/code-linting","target":"/garden/codacy","text":"Codacy"},{"source":"/garden/conftest","target":"/garden/codacy","text":"Codacy"},{"source":"/garden/conftest","target":"/garden/codacy","text":"Codacy"},{"source":"/garden/earlybird","target":"/garden/codacy","text":"Codacy"},{"source":"/garden/github-actions","target":"/garden/codacy","text":"Codacy"}],"/garden/code":[{"source":"/garden/tree-sitter","target":"/garden/code","text":"Code"},{"source":"/garden/tree-sitter-graph","target":"/garden/code","text":"Code"},{"source":"/garden/framework","target":"/garden/code","text":"Code"},{"source":"/garden/framework","target":"/garden/code","text":"Code"},{"source":"/garden/framework","target":"/garden/code","text":"Code"},{"source":"/garden/game-engine","target":"/garden/code","text":"Code"},{"source":"/garden/go","target":"/garden/code","text":"Code"},{"source":"/garden/hcl","target":"/garden/code","text":"Code"},{"source":"/garden/language","target":"/garden/code","text":"Code"},{"source":"/garden/library","target":"/garden/code","text":"Code"},{"source":"/garden/test-framework","target":"/garden/code","text":"Code"},{"source":"/garden/opentelemetry","target":"/garden/code","text":"Code"},{"source":"/garden/python","target":"/garden/code","text":"Code"},{"source":"/garden/ruby","target":"/garden/code","text":"Code"},{"source":"/garden/zap","target":"/garden/code","text":"Code"},{"source":"/garden/helm-chart","target":"/garden/code","text":"Code"},{"source":"/garden/cel","target":"/garden/code","text":"Code"},{"source":"/garden/protobuf","target":"/garden/code","text":"Code"},{"source":"/garden/openapi","target":"/garden/code","text":"Code"},{"source":"/garden/go-template","target":"/garden/code","text":"Code"},{"source":"/garden/json","target":"/garden/code","text":"Code"},{"source":"/garden/json-schema","target":"/garden/code","text":"Code"},{"source":"/garden/dev-container","target":"/garden/code","text":"Code"},{"source":"/garden/yaml","target":"/garden/code","text":"Code"},{"source":"/garden/yamlscript","target":"/garden/code","text":"Code"},{"source":"/garden/testcontainers","target":"/garden/code","text":"Code"},{"source":"/garden/ebitengine","target":"/garden/code","text":"Code"},{"source":"/garden/helm-unittest","target":"/garden/code","text":"Code"},{"source":"/garden/ruby-on-rails","target":"/garden/code","text":"Code"},{"source":"/garden/container-structure-test","target":"/garden/code","text":"Code"}],"/garden/code-linting":[{"source":"/garden/code-scanner","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/code-scanner","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/code-scanner","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/code-scanner","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/continuous-integration","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/continuous-integration","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/code-review","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/code-review","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/conftest","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/editorconfig","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/editorconfig","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/editorconfig","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/codacy","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/codacy","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/codacy","target":"/garden/code-linting","text":"Code Linting"}],"/garden/code-review":[{"source":"/garden/design-pattern","target":"/garden/code-review","text":"Code Review"},{"source":"/garden/continuous-integration","target":"/garden/code-review","text":"Code Review"},{"source":"/garden/code-linting","target":"/garden/code-review","text":"Code Review"},{"source":"/garden/github","target":"/garden/code-review","text":"Code Review"},{"source":"/garden/devops","target":"/garden/code-review","text":"Code Review"}],"/garden/code-scanner":[{"source":"/garden/goodcheck","target":"/garden/code-scanner","text":"Code Scanner"},{"source":"/garden/kube-bench","target":"/garden/code-scanner","text":"Code Scanner"},{"source":"/garden/kubescape","target":"/garden/code-scanner","text":"Code Scanner"},{"source":"/garden/sarif","target":"/garden/code-scanner","text":"Code Scanner"},{"source":"/garden/code-linting","target":"/garden/code-scanner","text":"Code Scanner"},{"source":"/garden/conftest","target":"/garden/code-scanner","text":"Code Scanner"},{"source":"/garden/earlybird","target":"/garden/code-scanner","text":"Code Scanner"},{"source":"/garden/gatekeeper","target":"/garden/code-scanner","text":"Code Scanner"},{"source":"/garden/tool","target":"/garden/code-scanner","text":"Code Scanner"},{"source":"/garden/codacy","target":"/garden/code-scanner","text":"Code Scanner"}],"/garden/codeship":[],"/garden/codex":[{"source":"/garden/kilo-ai","target":"/garden/codex","text":"Codex"},{"source":"/garden/ai-techniques","target":"/garden/codex","text":"Codex"},{"source":"/garden/claude-code","target":"/garden/codex","text":"Codex"},{"source":"/garden/claude-code","target":"/garden/codex","text":"Codex"},{"source":"/garden/cursor","target":"/garden/codex","text":"Codex"},{"source":"/garden/cursor-agent","target":"/garden/codex","text":"Codex"},{"source":"/garden/gemini","target":"/garden/codex","text":"Codex"},{"source":"/garden/gemini","target":"/garden/codex","text":"Codex"},{"source":"/garden/gemini","target":"/garden/codex","text":"Codex"},{"source":"/garden/opencode","target":"/garden/codex","text":"Codex"},{"source":"/garden/opencode","target":"/garden/codex","text":"Codex"},{"source":"/garden/agent-skills-framework","target":"/garden/codex","text":"Codex"},{"source":"/garden/agent-skills-framework","target":"/garden/codex","text":"Codex"},{"source":"/garden/ai-agent","target":"/garden/codex","text":"Codex"}],"/garden/concourse-ci":[],"/garden/conftest":[{"source":"/garden/goodcheck","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/harness-io","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/sarif","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/code-scanner","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/code-scanner","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/cel","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/policy-as-code","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/policy-as-code","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/code-review","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/code-linting","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/earlybird","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/gatekeeper","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/gatekeeper","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/gatekeeper","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/gatekeeper","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/gatekeeper","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/gatekeeper","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/codacy","target":"/garden/conftest","text":"Conftest"}],"/garden/container-structure-test":[{"source":"/garden/containerization","target":"/garden/container-structure-test","text":"Container Structure Test"},{"source":"/garden/containerization","target":"/garden/container-structure-test","text":"Container Structure Test"},{"source":"/garden/code","target":"/garden/container-structure-test","text":"Container Structure Test"},{"source":"/garden/testcontainers","target":"/garden/container-structure-test","text":"Container Structure Test"},{"source":"/garden/dive","target":"/garden/container-structure-test","text":"Container Structure Test"},{"source":"/garden/dive","target":"/garden/container-structure-test","text":"Container Structure Test"}],"/garden/containerization":[{"source":"/garden/cloud-lift-and-shift","target":"/garden/containerization","text":"Containerization"},{"source":"/garden/dev-container","target":"/garden/containerization","text":"Containerization"},{"source":"/garden/dev-container","target":"/garden/containerization","text":"Containerization"},{"source":"/garden/docker-desktop","target":"/garden/containerization","text":"Containerization"},{"source":"/garden/cattle-not-pets","target":"/garden/containerization","text":"containerization"},{"source":"/garden/docker-swarm","target":"/garden/containerization","text":"Containerization"},{"source":"/garden/dive","target":"/garden/containerization","text":"Containerization"},{"source":"/garden/container-structure-test","target":"/garden/containerization","text":"Containerization"},{"source":"/garden/docker","target":"/garden/containerization","text":"Containerization"},{"source":"/garden/docker","target":"/garden/containerization","text":"Containerization"}],"/garden/continuous-delivery":[{"source":"/garden/travis-ci","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/feature-flags","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/continuous-deployment","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/continuous-deployment","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/continuous-deployment","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/continuous-deployment","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/continuous-deployment","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/continuous-integration","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/continuous-integration","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/continuous-integration","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/ci-cd-tools","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/devops","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/github-actions","target":"/garden/continuous-delivery","text":"Continuous Delivery"}],"/garden/continuous-deployment":[{"source":"/garden/slas","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/feature-flags","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/feature-flags","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/feature-flags","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/continuous-delivery","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/continuous-delivery","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/continuous-delivery","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/continuous-integration","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/continuous-integration","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/ci-cd-tools","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/software-as-a-service","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/software-as-a-service","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/skaffold","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/argocd","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/gitops","target":"/garden/continuous-deployment","text":"Continuous Deployment"}],"/garden/continuous-integration":[{"source":"/garden/travis-ci","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/design-pattern","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/continuous-delivery","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/continuous-delivery","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/continuous-deployment","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/dev-container","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/code-review","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/ci-cd-tools","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/earlybird","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/devops","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/github-actions","target":"/garden/continuous-integration","text":"Continuous Integration"}],"/garden/cue":[{"source":"/blog/20250615-blast-radius","target":"/garden/cue","text":"CUE"}],"/garden/cursor":[{"source":"/garden/git-worktree","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/cline","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/cline","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/cline","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/cline","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/kilo-ai","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/kilo-ai","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/kilo-ai","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/ai-techniques","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/ai-techniques","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/claude-code","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/claude-code","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/codex","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/cursor-agent","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/cursor-agent","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/cursor-agent","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/gemini","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/gemini","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/ide","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/ide","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/opencode","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/opencode","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/agent-skills-framework","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/agent-skills-framework","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/ai-agent","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/genesis","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/cursor-keep-alive","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/dev-container","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/dev-container","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/cursor","text":"Cursor"}],"/garden/cursor-agent":[{"source":"/garden/cline","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/cline","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/kilo-ai","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/kilo-ai","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/ai-techniques","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/ai-techniques","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/claude-code","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/claude-code","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/codex","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/cursor","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/cursor","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/cursor","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/cursor","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/gemini","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/gemini","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/ide","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/opencode","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/opencode","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/agent-skills-framework","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/ai-agent","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/ai-agent","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/genesis","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/environment-managers","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/cursor-keep-alive","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/dev-container","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/direnv","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/github-actions","target":"/garden/cursor-agent","text":"cursor-agent"}],"/garden/cursor-keep-alive":[{"source":"/blog/20250514-rag-pipeline","target":"/garden/cursor-keep-alive","text":"Cursor Keep Alive"}],"/garden/dagu":[{"source":"/garden/go-script","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/apache-airflow","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/apache-airflow","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/apache-airflow","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/apache-airflow","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/argo-workflows","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/claude-code","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/gemini","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/openclaw","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/opencode","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/gbrain","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/workflow","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/dagu","text":"Dagu"}],"/garden/dbt-core":[],"/garden/declarative-iac":[{"source":"/garden/dotfiles-in-version-control","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/declarative-programming","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/declarative-programming","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/design-pattern","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/cloud","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/first-touch-provisioning","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/framework","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/hcl","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/dev-container","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/cdks","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/yaml","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/declarative-iac","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/dry","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/dry","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/imperative-iac","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/ansible","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/devops","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/jenkins","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/capistrano","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/capistrano","target":"/garden/declarative-iac","text":"Declarative IaC"}],"/garden/declarative-programming":[{"source":"/garden/declarative-iac","target":"/garden/declarative-programming","text":"Declarative Programming"}],"/garden/design-pattern":[{"source":"/garden/design-pattern","target":"/garden/design-pattern","text":"Design Pattern"},{"source":"/garden/framework","target":"/garden/design-pattern","text":"Design Pattern"},{"source":"/garden/technique","target":"/garden/design-pattern","text":"Design Pattern"}],"/garden/dev-container":[{"source":"/garden/git-worktree","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/ide","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/environment-managers","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/environment-managers","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/environment-managers","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/environment-managers","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/containerization","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/docker-desktop","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/ansible","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/direnv","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/direnv","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/direnv","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/editorconfig","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/docker-compose","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/code","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/dive","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/docker","target":"/garden/dev-container","text":"Dev Container"}],"/garden/devops":[{"source":"/garden/slas","target":"/garden/devops","text":"DevOps"},{"source":"/garden/incident-management","target":"/garden/devops","text":"DevOps"},{"source":"/garden/sre","target":"/garden/devops","text":"DevOps"},{"source":"/garden/devsecops","target":"/garden/devops","text":"DevOps"},{"source":"/garden/devsecops","target":"/garden/devops","text":"DevOps"},{"source":"/garden/jenkins","target":"/garden/devops","text":"DevOps"}],"/garden/devsecops":[{"source":"/garden/code-scanner","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/frontegg","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/cloud","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/continuous-integration","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/gitlab","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/policy-as-code","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/policy-as-code","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/dev-container","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/code-review","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/declarative-iac","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/ansible","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/auth0","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/aws","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/aws-eks","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/ci-cd-tools","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/code-linting","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/conftest","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/earlybird","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/github","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/software-as-a-service","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/azure","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/devops","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/devops","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/cloudbees","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/jenkins","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/chatops","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/chatops","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/codacy","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/enterprise-ready","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/enterprise-ready","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/github-actions","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/capistrano","target":"/garden/devsecops","text":"DevSecOps"}],"/garden/diagramming":[{"source":"/garden/github-next-repo-visualization","target":"/garden/diagramming","text":"Diagramming"},{"source":"/garden/diagramming","target":"/garden/diagramming","text":"Diagramming"},{"source":"/garden/asciiflow","target":"/garden/diagramming","text":"Diagramming"},{"source":"/garden/draw-io","target":"/garden/diagramming","text":"Diagramming"},{"source":"/garden/draw-io","target":"/garden/diagramming","text":"Diagramming"},{"source":"/garden/tool","target":"/garden/diagramming","text":"Diagramming"}],"/garden/direnv":[{"source":"/garden/environment-managers","target":"/garden/direnv","text":"direnv"},{"source":"/garden/environment-managers","target":"/garden/direnv","text":"direnv"},{"source":"/garden/environment-managers","target":"/garden/direnv","text":"direnv"}],"/garden/dive":[{"source":"/garden/docker","target":"/garden/dive","text":"Dive"}],"/garden/docker":[{"source":"/garden/helm-chart","target":"/garden/docker","text":"Docker"},{"source":"/garden/containerization","target":"/garden/docker","text":"Docker"},{"source":"/garden/dev-container","target":"/garden/docker","text":"Docker"},{"source":"/garden/docker-desktop","target":"/garden/docker","text":"Docker"},{"source":"/garden/docker-desktop","target":"/garden/docker","text":"Docker"},{"source":"/garden/docker-desktop","target":"/garden/docker","text":"Docker"},{"source":"/garden/docker-compose","target":"/garden/docker","text":"Docker"},{"source":"/garden/docker-compose","target":"/garden/docker","text":"Docker"},{"source":"/garden/skaffold","target":"/garden/docker","text":"Docker"},{"source":"/garden/docker-swarm","target":"/garden/docker","text":"Docker"},{"source":"/garden/docker-swarm","target":"/garden/docker","text":"Docker"},{"source":"/garden/testcontainers","target":"/garden/docker","text":"Docker"},{"source":"/garden/testcontainers","target":"/garden/docker","text":"Docker"},{"source":"/garden/dive","target":"/garden/docker","text":"Docker"},{"source":"/garden/container-structure-test","target":"/garden/docker","text":"Docker"}],"/garden/docker-compose":[{"source":"/garden/hcl","target":"/garden/docker-compose","text":"Docker Compose"},{"source":"/garden/docker-desktop","target":"/garden/docker-compose","text":"Docker Compose"},{"source":"/garden/yaml","target":"/garden/docker-compose","text":"Docker Compose"},{"source":"/garden/skaffold","target":"/garden/docker-compose","text":"Docker Compose"},{"source":"/garden/docker-swarm","target":"/garden/docker-compose","text":"Docker Compose"},{"source":"/garden/docker-swarm","target":"/garden/docker-compose","text":"Docker Compose"},{"source":"/garden/docker-swarm","target":"/garden/docker-compose","text":"Docker Compose"},{"source":"/blog/20171021-docker-details-dumb-init","target":"/garden/docker-compose","text":"Docker Compose"}],"/garden/docker-desktop":[{"source":"/garden/docker","target":"/garden/docker-desktop","text":"Docker Desktop"}],"/garden/docker-swarm":[{"source":"/garden/docker-compose","target":"/garden/docker-swarm","text":"Docker Swarm"},{"source":"/blog/20171021-docker-details-dumb-init","target":"/garden/docker-swarm","text":"Docker Swarm"}],"/garden/dotfiles-in-version-control":[],"/garden/draw-io":[{"source":"/garden/github-next-repo-visualization","target":"/garden/draw-io","text":"Draw.io"},{"source":"/garden/diagramming","target":"/garden/draw-io","text":"Draw.io"},{"source":"/garden/diagramming","target":"/garden/draw-io","text":"Draw.io"},{"source":"/garden/asciiflow","target":"/garden/draw-io","text":"Draw.io"},{"source":"/garden/asciiflow","target":"/garden/draw-io","text":"Draw.io"}],"/garden/dry":[{"source":"/garden/first-touch-provisioning","target":"/garden/dry","text":"DRY"}],"/garden/dumb-init-for-containers":[],"/garden/earlybird":[],"/garden/ebitengine":[{"source":"/garden/framework","target":"/garden/ebitengine","text":"Ebitengine"},{"source":"/garden/game-engine","target":"/garden/ebitengine","text":"Ebitengine"},{"source":"/garden/code","target":"/garden/ebitengine","text":"Ebitengine"}],"/garden/editorconfig":[{"source":"/garden/code-linting","target":"/garden/editorconfig","text":"EditorConfig"},{"source":"/garden/git","target":"/garden/editorconfig","text":"EditorConfig"}],"/garden/enterprise-ready":[{"source":"/garden/single-sign-on","target":"/garden/enterprise-ready","text":"Enterprise Ready"},{"source":"/garden/single-sign-on","target":"/garden/enterprise-ready","text":"Enterprise Ready"},{"source":"/garden/slas","target":"/garden/enterprise-ready","text":"Enterprise Ready"}],"/garden/environment-managers":[{"source":"/garden/environment-managers","target":"/garden/environment-managers","text":"Environment Managers"},{"source":"/garden/direnv","target":"/garden/environment-managers","text":"Environment Managers"},{"source":"/garden/tool","target":"/garden/environment-managers","text":"Environment Managers"}],"/garden/feature-flags":[{"source":"/garden/continuous-delivery","target":"/garden/feature-flags","text":"Feature Flags"},{"source":"/garden/continuous-deployment","target":"/garden/feature-flags","text":"Feature Flags"},{"source":"/garden/ci-cd-tools","target":"/garden/feature-flags","text":"Feature Flags"},{"source":"/garden/software-as-a-service","target":"/garden/feature-flags","text":"Feature Flags"}],"/garden/first-touch-provisioning":[],"/garden/framework":[{"source":"/garden/design-pattern","target":"/garden/framework","text":"Framework"},{"source":"/garden/framework","target":"/garden/framework","text":"Framework"},{"source":"/garden/framework","target":"/garden/framework","text":"Framework"},{"source":"/garden/game-engine","target":"/garden/framework","text":"Framework"},{"source":"/garden/language","target":"/garden/framework","text":"Framework"},{"source":"/garden/library","target":"/garden/framework","text":"Framework"},{"source":"/garden/library","target":"/garden/framework","text":"Framework"},{"source":"/garden/test-framework","target":"/garden/framework","text":"Framework"},{"source":"/garden/code","target":"/garden/framework","text":"Framework"},{"source":"/garden/code","target":"/garden/framework","text":"Framework"},{"source":"/garden/ruby-on-rails","target":"/garden/framework","text":"Framework"}],"/garden/frontegg":[{"source":"/garden/single-sign-on","target":"/garden/frontegg","text":"FrontEgg"},{"source":"/garden/auth0","target":"/garden/frontegg","text":"FrontEgg"},{"source":"/garden/software-as-a-service","target":"/garden/frontegg","text":"FrontEgg"},{"source":"/garden/enterprise-ready","target":"/garden/frontegg","text":"FrontEgg"}],"/garden/game-engine":[{"source":"/garden/framework","target":"/garden/game-engine","text":"game engine"},{"source":"/garden/framework","target":"/garden/game-engine","text":"game engine"},{"source":"/garden/code","target":"/garden/game-engine","text":"game engine"},{"source":"/garden/ebitengine","target":"/garden/game-engine","text":"game engine"}],"/garden/gatekeeper":[],"/garden/gbrain":[{"source":"/garden/ai-techniques","target":"/garden/gbrain","text":"gbrain"},{"source":"/garden/ai-techniques","target":"/garden/gbrain","text":"gbrain"},{"source":"/garden/agent-skills-sources","target":"/garden/gbrain","text":"gbrain"},{"source":"/garden/agent-skills-sources","target":"/garden/gbrain","text":"gbrain"},{"source":"/garden/agent-skills-framework","target":"/garden/gbrain","text":"gbrain"},{"source":"/garden/diagramming","target":"/garden/gbrain","text":"gbrain"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/gbrain","text":"gbrain"}],"/garden/gemini":[{"source":"/garden/kilo-ai","target":"/garden/gemini","text":"Gemini"},{"source":"/garden/cursor-agent","target":"/garden/gemini","text":"Gemini"},{"source":"/garden/opencode","target":"/garden/gemini","text":"Gemini"},{"source":"/garden/opencode","target":"/garden/gemini","text":"Gemini"},{"source":"/garden/agent-skills-framework","target":"/garden/gemini","text":"Gemini"},{"source":"/garden/agent-skills-framework","target":"/garden/gemini","text":"Gemini"},{"source":"/garden/ai-agent","target":"/garden/gemini","text":"Gemini"}],"/garden/genesis":[],"/garden/git":[{"source":"/garden/git-worktree","target":"/garden/git","text":"git"},{"source":"/garden/git-worktree","target":"/garden/git","text":"git"},{"source":"/garden/dotfiles-in-version-control","target":"/garden/git","text":"git"},{"source":"/garden/go-script","target":"/garden/git","text":"git"},{"source":"/garden/gitlab","target":"/garden/git","text":"git"},{"source":"/garden/gitlab","target":"/garden/git","text":"git"},{"source":"/garden/gitlab","target":"/garden/git","text":"git"},{"source":"/garden/gitlab","target":"/garden/git","text":"git"},{"source":"/garden/github","target":"/garden/git","text":"git"},{"source":"/garden/github","target":"/garden/git","text":"git"},{"source":"/garden/github","target":"/garden/git","text":"git"},{"source":"/garden/github","target":"/garden/git","text":"git"},{"source":"/garden/git-lfs","target":"/garden/git","text":"git"},{"source":"/garden/git-lfs","target":"/garden/git","text":"git"},{"source":"/garden/git-lfs","target":"/garden/git","text":"git"},{"source":"/blog/20110908-software-hazard-pay","target":"/garden/git","text":"Git"}],"/garden/git-lfs":[{"source":"/garden/gitlab","target":"/garden/git-lfs","text":"git lfs"},{"source":"/garden/github","target":"/garden/git-lfs","text":"git lfs"},{"source":"/garden/github","target":"/garden/git-lfs","text":"git lfs"},{"source":"/garden/git","target":"/garden/git-lfs","text":"git lfs"},{"source":"/garden/git","target":"/garden/git-lfs","text":"git lfs"},{"source":"/garden/git","target":"/garden/git-lfs","text":"git lfs"}],"/garden/git-worktree":[],"/garden/github":[{"source":"/garden/bitbucket-pipelines","target":"/garden/github","text":"GitHub"},{"source":"/garden/travis-ci","target":"/garden/github","text":"GitHub"},{"source":"/garden/gitlab","target":"/garden/github","text":"GitHub"},{"source":"/garden/gitlab","target":"/garden/github","text":"GitHub"},{"source":"/garden/gitlab","target":"/garden/github","text":"GitHub"},{"source":"/garden/gitlab","target":"/garden/github","text":"GitHub"},{"source":"/garden/code-review","target":"/garden/github","text":"GitHub"},{"source":"/garden/git","target":"/garden/github","text":"GitHub"},{"source":"/garden/git","target":"/garden/github","text":"GitHub"},{"source":"/garden/git","target":"/garden/github","text":"GitHub"},{"source":"/garden/git","target":"/garden/github","text":"GitHub"},{"source":"/garden/git-lfs","target":"/garden/github","text":"GitHub"},{"source":"/garden/git-lfs","target":"/garden/github","text":"GitHub"},{"source":"/garden/github-actions","target":"/garden/github","text":"GitHub"}],"/garden/github-actions":[{"source":"/garden/bitbucket-pipelines","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/codeship","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/codeship","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/concourse-ci","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/go-script","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/harness-io","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/meercode","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/meercode","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/sarif","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/spinnaker","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/travis-ci","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/travis-ci","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/travis-ci","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/apache-airflow","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/apache-airflow","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/code-scanner","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/code-scanner","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/continuous-delivery","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/continuous-deployment","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/environment-managers","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/continuous-integration","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/gitlab","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/gitlab","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/gitlab","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/containerization","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/dev-container","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/docker-desktop","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/ci-cd-tools","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/ci-cd-tools","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/code-linting","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/conftest","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/direnv","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/earlybird","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/editorconfig","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/github","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/github","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/github","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/github","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/github","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/devops","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/cloudbees","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/cloudbees","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/codacy","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/codacy","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/git","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/container-structure-test","target":"/garden/github-actions","text":"GitHub Actions"}],"/garden/github-next-repo-visualization":[],"/garden/gitlab":[{"source":"/garden/bitbucket-pipelines","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/codeship","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/harness-io","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/meercode","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/code-review","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/github","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/github","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/github","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/git","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/git","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/git","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/git","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/git-lfs","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/git-lfs","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/github-actions","target":"/garden/gitlab","text":"GitLab"}],"/garden/gitops":[{"source":"/garden/bitbucket-pipelines","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/gocd","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/octopus-deploy","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/spinnaker","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/feature-flags","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/continuous-delivery","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/continuous-deployment","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/first-touch-provisioning","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/gitlab","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/gitlab","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/gitlab","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/policy-as-code","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/containerization","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/docker-desktop","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/declarative-iac","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/ansible","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/ci-cd-tools","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/github","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/github","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/github","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/docker-compose","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/devops","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/docker-swarm","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/argocd","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/argocd","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/chatops","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/git","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/git","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/git","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/git","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/capistrano","target":"/garden/gitops","text":"GitOps"}],"/garden/go":[{"source":"/garden/go-script","target":"/garden/go","text":"GoLang"},{"source":"/garden/game-engine","target":"/garden/go","text":"GoLang"},{"source":"/garden/hcl","target":"/garden/go","text":"GoLang"},{"source":"/garden/language","target":"/garden/go","text":"GoLang"},{"source":"/garden/library","target":"/garden/go","text":"GoLang"},{"source":"/garden/opentelemetry","target":"/garden/go","text":"GoLang"},{"source":"/garden/python","target":"/garden/go","text":"GoLang"},{"source":"/garden/python","target":"/garden/go","text":"GoLang"},{"source":"/garden/ruby","target":"/garden/go","text":"GoLang"},{"source":"/garden/ruby","target":"/garden/go","text":"GoLang"},{"source":"/garden/zap","target":"/garden/go","text":"GoLang"},{"source":"/garden/code","target":"/garden/go","text":"GoLang"},{"source":"/garden/ebitengine","target":"/garden/go","text":"GoLang"},{"source":"/garden/ebitengine","target":"/garden/go","text":"GoLang"}],"/garden/go-script":[],"/garden/go-template":[{"source":"/garden/helm-chart","target":"/garden/go-template","text":"Go Template"}],"/garden/gocd":[],"/garden/goodcheck":[],"/garden/graphql":[{"source":"/garden/api","target":"/garden/graphql","text":"GraphQL"},{"source":"/garden/api","target":"/garden/graphql","text":"GraphQL"},{"source":"/garden/openapi","target":"/garden/graphql","text":"GraphQL"}],"/garden/grpc":[{"source":"/garden/api","target":"/garden/grpc","text":"gRPC"},{"source":"/garden/api","target":"/garden/grpc","text":"gRPC"},{"source":"/garden/protobuf","target":"/garden/grpc","text":"gRPC"},{"source":"/garden/protobuf","target":"/garden/grpc","text":"gRPC"},{"source":"/garden/protobuf","target":"/garden/grpc","text":"gRPC"},{"source":"/garden/openapi","target":"/garden/grpc","text":"gRPC"}],"/garden/harness-io":[],"/garden/hcl":[{"source":"/garden/declarative-programming","target":"/garden/hcl","text":"HCL"},{"source":"/garden/language","target":"/garden/hcl","text":"HCL"},{"source":"/garden/declarative-iac","target":"/garden/hcl","text":"HCL"},{"source":"/garden/code","target":"/garden/hcl","text":"HCL"}],"/garden/helm":[{"source":"/garden/first-touch-provisioning","target":"/garden/helm","text":"Helm"},{"source":"/garden/hcl","target":"/garden/helm","text":"Helm"},{"source":"/garden/helm-chart","target":"/garden/helm","text":"Helm"},{"source":"/garden/kustomize","target":"/garden/helm","text":"Helm"},{"source":"/garden/kustomize","target":"/garden/helm","text":"Helm"},{"source":"/garden/kustomize","target":"/garden/helm","text":"Helm"},{"source":"/garden/policy-as-code","target":"/garden/helm","text":"Helm"},{"source":"/garden/go-template","target":"/garden/helm","text":"Helm"},{"source":"/garden/yaml","target":"/garden/helm","text":"Helm"},{"source":"/garden/declarative-iac","target":"/garden/helm","text":"Helm"},{"source":"/garden/gatekeeper","target":"/garden/helm","text":"Helm"},{"source":"/garden/yamlscript","target":"/garden/helm","text":"Helm"},{"source":"/garden/argocd","target":"/garden/helm","text":"Helm"}],"/garden/helm-chart":[{"source":"/garden/declarative-programming","target":"/garden/helm-chart","text":"Helm Chart"},{"source":"/garden/test-framework","target":"/garden/helm-chart","text":"Helm Chart"},{"source":"/garden/helm-unittest","target":"/garden/helm-chart","text":"Helm Chart"},{"source":"/garden/helm-unittest","target":"/garden/helm-chart","text":"Helm Chart"}],"/garden/helm-unittest":[{"source":"/garden/framework","target":"/garden/helm-unittest","text":"Helm Unittest"},{"source":"/garden/test-framework","target":"/garden/helm-unittest","text":"Helm Unittest"},{"source":"/garden/code","target":"/garden/helm-unittest","text":"Helm Unittest"},{"source":"/garden/container-structure-test","target":"/garden/helm-unittest","text":"Helm Unittest"}],"/garden/hermes-agent":[],"/garden/hybrid-cloud":[{"source":"/garden/cloud","target":"/garden/hybrid-cloud","text":"Hybrid Cloud"},{"source":"/garden/cloud","target":"/garden/hybrid-cloud","text":"Hybrid Cloud"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/hybrid-cloud","text":"Hybrid Cloud"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/hybrid-cloud","text":"Hybrid Cloud"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/hybrid-cloud","text":"Hybrid Cloud"},{"source":"/garden/aws","target":"/garden/hybrid-cloud","text":"Hybrid Cloud"},{"source":"/garden/azure","target":"/garden/hybrid-cloud","text":"Hybrid Cloud"},{"source":"/garden/azure","target":"/garden/hybrid-cloud","text":"Hybrid Cloud"}],"/garden/ide":[{"source":"/garden/ai-techniques","target":"/garden/ide","text":"IDE"},{"source":"/garden/cursor","target":"/garden/ide","text":"IDE"},{"source":"/garden/cursor","target":"/garden/ide","text":"IDE"},{"source":"/garden/cursor","target":"/garden/ide","text":"IDE"},{"source":"/garden/cursor-agent","target":"/garden/ide","text":"IDE"},{"source":"/garden/cursor-agent","target":"/garden/ide","text":"IDE"},{"source":"/garden/openclaw","target":"/garden/ide","text":"IDE"},{"source":"/garden/openclaw","target":"/garden/ide","text":"IDE"},{"source":"/garden/agent-client-protocol","target":"/garden/ide","text":"IDE"},{"source":"/garden/ai-agent","target":"/garden/ide","text":"IDE"},{"source":"/garden/hermes-agent","target":"/garden/ide","text":"IDE"},{"source":"/garden/hermes-agent","target":"/garden/ide","text":"IDE"},{"source":"/garden/dev-container","target":"/garden/ide","text":"IDE"},{"source":"/garden/tool","target":"/garden/ide","text":"IDE"}],"/garden/imperative-iac":[{"source":"/garden/declarative-programming","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/declarative-programming","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/first-touch-provisioning","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/python","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/cdks","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/declarative-iac","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/declarative-iac","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/declarative-iac","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/dry","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/pulumi","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/capistrano","target":"/garden/imperative-iac","text":"Imperative IaC"}],"/garden/inbox-pattern":[{"source":"/garden/work-queue","target":"/garden/inbox-pattern","text":"Inbox Pattern"}],"/garden/incident-management":[{"source":"/garden/slack","target":"/garden/incident-management","text":"Incident Management"},{"source":"/garden/opentelemetry","target":"/garden/incident-management","text":"Incident Management"},{"source":"/garden/chatops","target":"/garden/incident-management","text":"Incident Management"}],"/garden/jenkins":[{"source":"/garden/codeship","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/gocd","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/travis-ci","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/argo-workflows","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/continuous-integration","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/ci-cd-tools","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/devops","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/jenkins-x","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/cloudbees","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/cloudbees","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/cloudbees","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/argocd","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/github-actions","target":"/garden/jenkins","text":"Jenkins"}],"/garden/jenkins-x":[{"source":"/garden/argo-workflows","target":"/garden/jenkins-x","text":"Jenkins X"},{"source":"/garden/cloudbees","target":"/garden/jenkins-x","text":"Jenkins X"}],"/garden/jq":[],"/garden/json":[{"source":"/garden/language","target":"/garden/json","text":"JSON"},{"source":"/garden/protobuf","target":"/garden/json","text":"JSON"},{"source":"/garden/protobuf","target":"/garden/json","text":"JSON"},{"source":"/garden/json-schema","target":"/garden/json","text":"JSON"},{"source":"/garden/yaml","target":"/garden/json","text":"JSON"},{"source":"/garden/yaml","target":"/garden/json","text":"JSON"},{"source":"/garden/code","target":"/garden/json","text":"JSON"},{"source":"/garden/code","target":"/garden/json","text":"JSON"}],"/garden/json-schema":[{"source":"/garden/cue","target":"/garden/json-schema","text":"JSON Schema"},{"source":"/garden/json","target":"/garden/json-schema","text":"JSON Schema"},{"source":"/garden/yaml","target":"/garden/json-schema","text":"JSON Schema"}],"/garden/k9s":[],"/garden/kilo-ai":[{"source":"/garden/cline","target":"/garden/kilo-ai","text":"Kilo.ai"},{"source":"/garden/cline","target":"/garden/kilo-ai","text":"Kilo.ai"},{"source":"/garden/cline","target":"/garden/kilo-ai","text":"Kilo.ai"}],"/garden/kube-bench":[],"/garden/kubernetes":[{"source":"/garden/concourse-ci","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/harness-io","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/octopus-deploy","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/shell-operator","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/apache-airflow","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/argo-workflows","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/declarative-programming","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/environment-managers","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/first-touch-provisioning","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/hcl","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/opentelemetry","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/helm-chart","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/cel","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/cel","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/cel","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/kustomize","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/k9s","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/blog/20250514-rag-pipeline","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/cursor-keep-alive","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/containerization","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/containerization","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/dev-container","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/docker-desktop","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/docker-desktop","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/nomad","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/yaml","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/cattle-not-pets","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/ansible","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/aws-eks","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/ci-cd-tools","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/gatekeeper","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/docker-compose","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/docker-compose","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/skaffold","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/docker-swarm","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/docker-swarm","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/docker-swarm","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/docker-swarm","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/jenkins-x","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/argocd","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/github-actions","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/helm","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/helm-unittest","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/replicated","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/capistrano","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/docker","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/blog/20171021-docker-details-dumb-init","target":"/garden/kubernetes","text":"Kubernetes"}],"/garden/kubescape":[{"source":"/garden/kube-bench","target":"/garden/kubescape","text":"Kubescape"},{"source":"/garden/kube-bench","target":"/garden/kubescape","text":"Kubescape"}],"/garden/kustomize":[{"source":"/garden/helm-chart","target":"/garden/kustomize","text":"Kustomize"},{"source":"/blog/20250615-blast-radius","target":"/garden/kustomize","text":"Kustomize"}],"/garden/language":[{"source":"/garden/framework","target":"/garden/language","text":"Language"},{"source":"/garden/framework","target":"/garden/language","text":"Language"},{"source":"/garden/go","target":"/garden/language","text":"Language"},{"source":"/garden/hcl","target":"/garden/language","text":"Language"},{"source":"/garden/library","target":"/garden/language","text":"Language"},{"source":"/garden/test-framework","target":"/garden/language","text":"Language"},{"source":"/garden/python","target":"/garden/language","text":"Language"},{"source":"/garden/ruby","target":"/garden/language","text":"Language"},{"source":"/garden/helm-chart","target":"/garden/language","text":"Language"},{"source":"/garden/cel","target":"/garden/language","text":"Language"},{"source":"/garden/protobuf","target":"/garden/language","text":"Language"},{"source":"/garden/openapi","target":"/garden/language","text":"Language"},{"source":"/garden/go-template","target":"/garden/language","text":"Language"},{"source":"/garden/json","target":"/garden/language","text":"Language"},{"source":"/garden/json-schema","target":"/garden/language","text":"Language"},{"source":"/garden/yaml","target":"/garden/language","text":"Language"},{"source":"/garden/yamlscript","target":"/garden/language","text":"Language"},{"source":"/garden/code","target":"/garden/language","text":"Language"},{"source":"/garden/code","target":"/garden/language","text":"Language"},{"source":"/garden/code","target":"/garden/language","text":"Language"}],"/garden/library":[{"source":"/garden/tree-sitter","target":"/garden/library","text":"Library"},{"source":"/garden/tree-sitter-graph","target":"/garden/library","text":"Library"},{"source":"/garden/framework","target":"/garden/library","text":"Library"},{"source":"/garden/framework","target":"/garden/library","text":"Library"},{"source":"/garden/framework","target":"/garden/library","text":"Library"},{"source":"/garden/framework","target":"/garden/library","text":"Library"},{"source":"/garden/language","target":"/garden/library","text":"Library"},{"source":"/garden/test-framework","target":"/garden/library","text":"Library"},{"source":"/garden/opentelemetry","target":"/garden/library","text":"Library"},{"source":"/garden/zap","target":"/garden/library","text":"Library"},{"source":"/garden/code","target":"/garden/library","text":"Library"},{"source":"/garden/code","target":"/garden/library","text":"Library"},{"source":"/garden/code","target":"/garden/library","text":"Library"}],"/garden/meercode":[],"/garden/nomad":[{"source":"/garden/hcl","target":"/garden/nomad","text":"Nomad"}],"/garden/octopus-deploy":[],"/garden/ollama":[{"source":"/garden/ai-techniques","target":"/garden/ollama","text":"Ollama"},{"source":"/garden/openclaw","target":"/garden/ollama","text":"Ollama"},{"source":"/garden/ai-agent","target":"/garden/ollama","text":"Ollama"},{"source":"/garden/hermes-agent","target":"/garden/ollama","text":"Ollama"},{"source":"/garden/hermes-agent","target":"/garden/ollama","text":"Ollama"},{"source":"/garden/hermes-agent","target":"/garden/ollama","text":"Ollama"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/ollama","text":"Ollama"}],"/garden/openapi":[{"source":"/garden/diagramming","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/framework","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/language","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/api","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/api","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/graphql","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/cue","target":"/garden/openapi","text":"OpenAPI"},{"source":"/blog/20250514-rag-pipeline","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/cursor-keep-alive","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/cursor-keep-alive","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/json-schema","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/json-schema","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/code","target":"/garden/openapi","text":"OpenAPI"}],"/garden/openclaw":[{"source":"/garden/claude-code","target":"/garden/openclaw","text":"OpenClaw"},{"source":"/garden/claude-code","target":"/garden/openclaw","text":"OpenClaw"},{"source":"/garden/codex","target":"/garden/openclaw","text":"OpenClaw"},{"source":"/garden/cursor-agent","target":"/garden/openclaw","text":"OpenClaw"},{"source":"/garden/gemini","target":"/garden/openclaw","text":"OpenClaw"},{"source":"/garden/opencode","target":"/garden/openclaw","text":"OpenClaw"},{"source":"/garden/slack","target":"/garden/openclaw","text":"OpenClaw"},{"source":"/garden/ai-agent","target":"/garden/openclaw","text":"OpenClaw"},{"source":"/garden/hermes-agent","target":"/garden/openclaw","text":"OpenClaw"}],"/garden/opencode":[{"source":"/garden/cline","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/cline","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/cline","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/kilo-ai","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/kilo-ai","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/kilo-ai","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/cursor","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/cursor-agent","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/cursor-agent","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/agent-skills-framework","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/ai-agent","target":"/garden/opencode","text":"OpenCode"}],"/garden/opentelemetry":[{"source":"/garden/shell-operator","target":"/garden/opentelemetry","text":"OpenTelemetry"},{"source":"/garden/framework","target":"/garden/opentelemetry","text":"OpenTelemetry"},{"source":"/garden/incident-management","target":"/garden/opentelemetry","text":"OpenTelemetry"},{"source":"/garden/software-as-a-service","target":"/garden/opentelemetry","text":"OpenTelemetry"},{"source":"/garden/code","target":"/garden/opentelemetry","text":"OpenTelemetry"}],"/garden/orchestrator":[{"source":"/garden/apache-airflow","target":"/garden/orchestrator","text":"Orchestrator"},{"source":"/garden/dagu","target":"/garden/orchestrator","text":"Orchestrator"},{"source":"/garden/kubernetes","target":"/garden/orchestrator","text":"Orchestrator"},{"source":"/garden/nomad","target":"/garden/orchestrator","text":"Orchestrator"},{"source":"/garden/aws-eks","target":"/garden/orchestrator","text":"Orchestrator"},{"source":"/garden/platform","target":"/garden/orchestrator","text":"Orchestrator"}],"/garden/planning-poker":[{"source":"/garden/3-point-estimate","target":"/garden/planning-poker","text":"Planning Poker"},{"source":"/garden/3-point-estimate","target":"/garden/planning-poker","text":"Planning Poker"}],"/garden/platform":[{"source":"/garden/bitbucket-pipelines","target":"/garden/platform","text":"Platform"},{"source":"/garden/clutch","target":"/garden/platform","text":"Platform"},{"source":"/garden/codeship","target":"/garden/platform","text":"Platform"},{"source":"/garden/concourse-ci","target":"/garden/platform","text":"Platform"},{"source":"/garden/gocd","target":"/garden/platform","text":"Platform"},{"source":"/garden/harness-io","target":"/garden/platform","text":"Platform"},{"source":"/garden/octopus-deploy","target":"/garden/platform","text":"Platform"},{"source":"/garden/spinnaker","target":"/garden/platform","text":"Platform"},{"source":"/garden/ai-techniques","target":"/garden/platform","text":"Platform"},{"source":"/garden/frontegg","target":"/garden/platform","text":"Platform"},{"source":"/garden/ollama","target":"/garden/platform","text":"Platform"},{"source":"/garden/slack","target":"/garden/platform","text":"Platform"},{"source":"/garden/dagu","target":"/garden/platform","text":"Platform"},{"source":"/garden/agent-client-protocol","target":"/garden/platform","text":"Platform"},{"source":"/garden/ai-agent","target":"/garden/platform","text":"Platform"},{"source":"/garden/design-pattern","target":"/garden/platform","text":"Platform"},{"source":"/garden/cloud","target":"/garden/platform","text":"Platform"},{"source":"/garden/framework","target":"/garden/platform","text":"Platform"},{"source":"/garden/orchestrator","target":"/garden/platform","text":"Platform"},{"source":"/garden/kubernetes","target":"/garden/platform","text":"Platform"},{"source":"/garden/gitlab","target":"/garden/platform","text":"Platform"},{"source":"/garden/docker-desktop","target":"/garden/platform","text":"Platform"},{"source":"/garden/system-initiative","target":"/garden/platform","text":"Platform"},{"source":"/garden/tailscale","target":"/garden/platform","text":"Platform"},{"source":"/garden/nomad","target":"/garden/platform","text":"Platform"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/platform","text":"Platform"},{"source":"/garden/auth0","target":"/garden/platform","text":"Platform"},{"source":"/garden/aws","target":"/garden/platform","text":"Platform"},{"source":"/garden/aws-eks","target":"/garden/platform","text":"Platform"},{"source":"/garden/github","target":"/garden/platform","text":"Platform"},{"source":"/garden/azure","target":"/garden/platform","text":"Platform"},{"source":"/garden/docker-swarm","target":"/garden/platform","text":"Platform"},{"source":"/garden/jenkins-x","target":"/garden/platform","text":"Platform"},{"source":"/garden/cloudbees","target":"/garden/platform","text":"Platform"},{"source":"/garden/jenkins","target":"/garden/platform","text":"Platform"},{"source":"/garden/code","target":"/garden/platform","text":"Platform"},{"source":"/garden/replicated","target":"/garden/platform","text":"Platform"}],"/garden/policy-as-code":[{"source":"/garden/harness-io","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/kubescape","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/sarif","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/code-scanner","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/feature-flags","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/first-touch-provisioning","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/continuous-integration","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/cue","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/cel","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/code-review","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/declarative-iac","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/ci-cd-tools","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/code-linting","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/conftest","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/conftest","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/conftest","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/earlybird","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/editorconfig","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/gatekeeper","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/gatekeeper","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/github","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/argocd","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/codacy","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/enterprise-ready","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/git","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/github-actions","target":"/garden/policy-as-code","text":"Policy as Code"}],"/garden/protobuf":[{"source":"/garden/language","target":"/garden/protobuf","text":"Protobuf"},{"source":"/garden/cue","target":"/garden/protobuf","text":"Protobuf"},{"source":"/garden/json","target":"/garden/protobuf","text":"Protobuf"},{"source":"/garden/json","target":"/garden/protobuf","text":"Protobuf"},{"source":"/garden/code","target":"/garden/protobuf","text":"Protobuf"}],"/garden/pulumi":[{"source":"/garden/declarative-programming","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/first-touch-provisioning","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/hcl","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/hcl","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/hcl","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/python","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/cdks","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/declarative-iac","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/imperative-iac","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/shift-left","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/shiftleft","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/terraform","target":"/garden/pulumi","text":"Pulumi"}],"/garden/python":[{"source":"/garden/ruby","target":"/garden/python","text":"Python"},{"source":"/garden/ruby","target":"/garden/python","text":"Python"},{"source":"/garden/code","target":"/garden/python","text":"Python"}],"/garden/replicated":[],"/garden/rest":[],"/garden/ruby":[{"source":"/garden/language","target":"/garden/ruby","text":"Ruby"},{"source":"/garden/python","target":"/garden/ruby","text":"Ruby"},{"source":"/garden/code","target":"/garden/ruby","text":"Ruby"},{"source":"/garden/ruby-on-rails","target":"/garden/ruby","text":"Ruby"},{"source":"/garden/ruby-on-rails","target":"/garden/ruby","text":"Ruby"},{"source":"/garden/capistrano","target":"/garden/ruby","text":"Ruby"}],"/garden/ruby-on-rails":[{"source":"/garden/framework","target":"/garden/ruby-on-rails","text":"Ruby on Rails"},{"source":"/garden/framework","target":"/garden/ruby-on-rails","text":"Ruby on Rails"},{"source":"/garden/ruby","target":"/garden/ruby-on-rails","text":"Ruby on Rails"},{"source":"/garden/ruby","target":"/garden/ruby-on-rails","text":"Ruby on Rails"},{"source":"/garden/ruby","target":"/garden/ruby-on-rails","text":"Ruby on Rails"},{"source":"/garden/code","target":"/garden/ruby-on-rails","text":"Ruby on Rails"},{"source":"/garden/capistrano","target":"/garden/ruby-on-rails","text":"Ruby on Rails"}],"/garden/sarif":[],"/garden/scrum":[{"source":"/garden/planning-poker","target":"/garden/scrum","text":"Scrum"},{"source":"/garden/3-point-estimate","target":"/garden/scrum","text":"Scrum"}],"/garden/shell-operator":[],"/garden/shift-left":[{"source":"/garden/code-scanner","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/continuous-integration","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/gitlab","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/policy-as-code","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/code-review","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/declarative-iac","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/code-linting","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/conftest","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/earlybird","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/github","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/skaffold","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/devops","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/devops","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/argocd","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/codacy","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/github-actions","target":"/garden/shift-left","text":"Shift Left"}],"/garden/shiftleft":[],"/garden/single-responsibility-principle":[{"source":"/blog/20250514-rag-pipeline","target":"/garden/single-responsibility-principle","text":"Single Responsibility Principle"}],"/garden/single-sign-on":[{"source":"/garden/enterprise-ready","target":"/garden/single-sign-on","text":"Single Sign-on"},{"source":"/garden/enterprise-ready","target":"/garden/single-sign-on","text":"Single Sign-on"}],"/garden/skaffold":[{"source":"/garden/docker-compose","target":"/garden/skaffold","text":"Skaffold"},{"source":"/garden/docker-compose","target":"/garden/skaffold","text":"Skaffold"},{"source":"/garden/docker-compose","target":"/garden/skaffold","text":"Skaffold"}],"/garden/slack":[{"source":"/garden/chatops","target":"/garden/slack","text":"Slack"},{"source":"/garden/chatops","target":"/garden/slack","text":"Slack"}],"/garden/slas":[{"source":"/garden/enterprise-ready","target":"/garden/slas","text":"SLAs"},{"source":"/garden/enterprise-ready","target":"/garden/slas","text":"SLAs"}],"/garden/software-as-a-service":[{"source":"/garden/frontegg","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/single-sign-on","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/slas","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/feature-flags","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/feature-flags","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/continuous-delivery","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/continuous-delivery","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/continuous-deployment","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/cloud","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/containerization","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/cattle-not-pets","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/ci-cd-tools","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/codacy","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/enterprise-ready","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/enterprise-ready","target":"/garden/software-as-a-service","text":"Software as a Service"}],"/garden/spinnaker":[],"/garden/sre":[{"source":"/garden/slas","target":"/garden/sre","text":"SRE"},{"source":"/garden/incident-management","target":"/garden/sre","text":"SRE"}],"/garden/system-initiative":[],"/garden/tailscale":[{"source":"/garden/cloud","target":"/garden/tailscale","text":"Tailscale"},{"source":"/garden/ztna","target":"/garden/tailscale","text":"Tailscale"},{"source":"/garden/boundary-hashicorp","target":"/garden/tailscale","text":"Tailscale"}],"/garden/tailwind-css":[],"/garden/technique":[{"source":"/garden/git-worktree","target":"/garden/technique","text":"Technique"},{"source":"/garden/dotfiles-in-version-control","target":"/garden/technique","text":"Technique"},{"source":"/garden/go-script","target":"/garden/technique","text":"Technique"},{"source":"/garden/sarif","target":"/garden/technique","text":"Technique"},{"source":"/garden/ai-techniques","target":"/garden/technique","text":"Technique"},{"source":"/garden/code-scanner","target":"/garden/technique","text":"Technique"},{"source":"/garden/single-sign-on","target":"/garden/technique","text":"Technique"},{"source":"/garden/slas","target":"/garden/technique","text":"Technique"},{"source":"/garden/agent-skills-sources","target":"/garden/technique","text":"Technique"},{"source":"/garden/gbrain","target":"/garden/technique","text":"Technique"},{"source":"/garden/feature-flags","target":"/garden/technique","text":"Technique"},{"source":"/garden/agent-skills-framework","target":"/garden/technique","text":"Technique"},{"source":"/garden/declarative-programming","target":"/garden/technique","text":"Technique"},{"source":"/garden/design-pattern","target":"/garden/technique","text":"Technique"},{"source":"/garden/design-pattern","target":"/garden/technique","text":"Technique"},{"source":"/garden/design-pattern","target":"/garden/technique","text":"Technique"},{"source":"/garden/continuous-delivery","target":"/garden/technique","text":"Technique"},{"source":"/garden/continuous-deployment","target":"/garden/technique","text":"Technique"},{"source":"/garden/first-touch-provisioning","target":"/garden/technique","text":"Technique"},{"source":"/garden/continuous-integration","target":"/garden/technique","text":"Technique"},{"source":"/garden/framework","target":"/garden/technique","text":"Technique"},{"source":"/garden/test-framework","target":"/garden/technique","text":"Technique"},{"source":"/garden/api","target":"/garden/technique","text":"Technique"},{"source":"/garden/grpc","target":"/garden/technique","text":"Technique"},{"source":"/garden/graphql","target":"/garden/technique","text":"Technique"},{"source":"/garden/rest","target":"/garden/technique","text":"Technique"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/technique","text":"Technique"},{"source":"/garden/hybrid-cloud","target":"/garden/technique","text":"Technique"},{"source":"/garden/incident-management","target":"/garden/technique","text":"Technique"},{"source":"/garden/policy-as-code","target":"/garden/technique","text":"Technique"},{"source":"/garden/work-queue","target":"/garden/technique","text":"Technique"},{"source":"/garden/workflow","target":"/garden/technique","text":"Technique"},{"source":"/garden/inbox-pattern","target":"/garden/technique","text":"Technique"},{"source":"/garden/cursor-keep-alive","target":"/garden/technique","text":"Technique"},{"source":"/garden/single-responsibility-principle","target":"/garden/technique","text":"Technique"},{"source":"/garden/sre","target":"/garden/technique","text":"Technique"},{"source":"/garden/containerization","target":"/garden/technique","text":"Technique"},{"source":"/garden/ztna","target":"/garden/technique","text":"Technique"},{"source":"/garden/planning-poker","target":"/garden/technique","text":"Technique"},{"source":"/garden/scrum","target":"/garden/technique","text":"Technique"},{"source":"/garden/code-review","target":"/garden/technique","text":"Technique"},{"source":"/garden/cattle-not-pets","target":"/garden/technique","text":"Technique"},{"source":"/garden/access-on-demand","target":"/garden/technique","text":"Technique"},{"source":"/garden/test-pyramid","target":"/garden/technique","text":"Technique"},{"source":"/garden/declarative-iac","target":"/garden/technique","text":"Technique"},{"source":"/garden/dry","target":"/garden/technique","text":"Technique"},{"source":"/garden/imperative-iac","target":"/garden/technique","text":"Technique"},{"source":"/garden/a-model-of-communication","target":"/garden/technique","text":"Technique"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/technique","text":"Technique"},{"source":"/garden/code-linting","target":"/garden/technique","text":"Technique"},{"source":"/garden/conftest","target":"/garden/technique","text":"Technique"},{"source":"/garden/software-as-a-service","target":"/garden/technique","text":"Technique"},{"source":"/garden/agile-software-development","target":"/garden/technique","text":"Technique"},{"source":"/garden/devops","target":"/garden/technique","text":"Technique"},{"source":"/garden/devsecops","target":"/garden/technique","text":"Technique"},{"source":"/garden/code","target":"/garden/technique","text":"Technique"},{"source":"/garden/3-point-estimate","target":"/garden/technique","text":"Technique"},{"source":"/garden/shift-left","target":"/garden/technique","text":"Technique"},{"source":"/garden/shiftleft","target":"/garden/technique","text":"Technique"},{"source":"/garden/12-factor-app","target":"/garden/technique","text":"Technique"},{"source":"/garden/chatops","target":"/garden/technique","text":"Technique"},{"source":"/garden/enterprise-ready","target":"/garden/technique","text":"Technique"},{"source":"/garden/zanzibar","target":"/garden/technique","text":"Technique"},{"source":"/garden/gitops","target":"/garden/technique","text":"Technique"}],"/garden/terraform":[{"source":"/garden/declarative-programming","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/declarative-programming","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/cloud","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/cloud","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/first-touch-provisioning","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/first-touch-provisioning","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/hcl","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/hcl","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/grpc","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/policy-as-code","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/system-initiative","target":"/garden/terraform","text":"terraform"},{"source":"/garden/cdks","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/declarative-iac","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/ansible","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/aws","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/aws-eks","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/azure","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/shift-left","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/shiftleft","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/boundary-hashicorp","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/capistrano","target":"/garden/terraform","text":"Terraform"}],"/garden/test-framework":[{"source":"/garden/framework","target":"/garden/test-framework","text":"Test Framework"},{"source":"/garden/framework","target":"/garden/test-framework","text":"Test Framework"},{"source":"/garden/code","target":"/garden/test-framework","text":"Test Framework"},{"source":"/garden/code","target":"/garden/test-framework","text":"Test Framework"},{"source":"/garden/testcontainers","target":"/garden/test-framework","text":"Test Framework"},{"source":"/garden/helm-unittest","target":"/garden/test-framework","text":"Test Framework"},{"source":"/garden/container-structure-test","target":"/garden/test-framework","text":"Test Framework"}],"/garden/test-pyramid":[],"/garden/testcontainers":[],"/garden/tool":[{"source":"/garden/dumb-init-for-containers","target":"/garden/tool","text":"Tools"},{"source":"/garden/github-next-repo-visualization","target":"/garden/tool","text":"Tools"},{"source":"/garden/goodcheck","target":"/garden/tool","text":"Tools"},{"source":"/garden/kube-bench","target":"/garden/tool","text":"Tools"},{"source":"/garden/kubescape","target":"/garden/tool","text":"Tools"},{"source":"/garden/meercode","target":"/garden/tool","text":"Tools"},{"source":"/garden/shell-operator","target":"/garden/tool","text":"Tools"},{"source":"/garden/tailwind-css","target":"/garden/tool","text":"Tools"},{"source":"/garden/travis-ci","target":"/garden/tool","text":"Tools"},{"source":"/garden/cline","target":"/garden/tool","text":"Tools"},{"source":"/garden/kilo-ai","target":"/garden/tool","text":"Tools"},{"source":"/garden/apache-airflow","target":"/garden/tool","text":"Tools"},{"source":"/garden/argo-workflows","target":"/garden/tool","text":"Tools"},{"source":"/garden/claude-code","target":"/garden/tool","text":"Tools"},{"source":"/garden/code-scanner","target":"/garden/tool","text":"Tools"},{"source":"/garden/codex","target":"/garden/tool","text":"Tools"},{"source":"/garden/cursor","target":"/garden/tool","text":"Tools"},{"source":"/garden/cursor-agent","target":"/garden/tool","text":"Tools"},{"source":"/garden/gemini","target":"/garden/tool","text":"Tools"},{"source":"/garden/ide","target":"/garden/tool","text":"Tools"},{"source":"/garden/openclaw","target":"/garden/tool","text":"Tools"},{"source":"/garden/opencode","target":"/garden/tool","text":"Tools"},{"source":"/garden/ai-agent","target":"/garden/tool","text":"Tools"},{"source":"/garden/hermes-agent","target":"/garden/tool","text":"Tools"},{"source":"/garden/genesis","target":"/garden/tool","text":"Tools"},{"source":"/garden/dbt-core","target":"/garden/tool","text":"Tools"},{"source":"/garden/environment-managers","target":"/garden/tool","text":"Tools"},{"source":"/garden/diagramming","target":"/garden/tool","text":"Tools"},{"source":"/garden/cue","target":"/garden/tool","text":"Tools"},{"source":"/garden/kustomize","target":"/garden/tool","text":"Tools"},{"source":"/garden/k9s","target":"/garden/tool","text":"Tools"},{"source":"/garden/wireguard","target":"/garden/tool","text":"Tools"},{"source":"/garden/cdks","target":"/garden/tool","text":"Tools"},{"source":"/garden/ansible","target":"/garden/tool","text":"Tools"},{"source":"/garden/asciiflow","target":"/garden/tool","text":"Tools"},{"source":"/garden/ci-cd-tools","target":"/garden/tool","text":"Tools"},{"source":"/garden/conftest","target":"/garden/tool","text":"Tools"},{"source":"/garden/direnv","target":"/garden/tool","text":"Tools"},{"source":"/garden/draw-io","target":"/garden/tool","text":"Tools"},{"source":"/garden/earlybird","target":"/garden/tool","text":"Tools"},{"source":"/garden/editorconfig","target":"/garden/tool","text":"Tools"},{"source":"/garden/gatekeeper","target":"/garden/tool","text":"Tools"},{"source":"/garden/docker-compose","target":"/garden/tool","text":"Tools"},{"source":"/garden/skaffold","target":"/garden/tool","text":"Tools"},{"source":"/garden/pulumi","target":"/garden/tool","text":"Tools"},{"source":"/garden/terraform","target":"/garden/tool","text":"Tools"},{"source":"/garden/argocd","target":"/garden/tool","text":"Tools"},{"source":"/garden/boundary-hashicorp","target":"/garden/tool","text":"Tools"},{"source":"/garden/codacy","target":"/garden/tool","text":"Tools"},{"source":"/garden/dive","target":"/garden/tool","text":"Tools"},{"source":"/garden/git","target":"/garden/tool","text":"Tools"},{"source":"/garden/git-lfs","target":"/garden/tool","text":"Tools"},{"source":"/garden/github-actions","target":"/garden/tool","text":"Tools"},{"source":"/garden/helm","target":"/garden/tool","text":"Tools"},{"source":"/garden/jq","target":"/garden/tool","text":"Tools"},{"source":"/garden/replicated","target":"/garden/tool","text":"Tools"},{"source":"/garden/capistrano","target":"/garden/tool","text":"Tools"},{"source":"/garden/docker","target":"/garden/tool","text":"Tools"}],"/garden/travis-ci":[],"/garden/tree-sitter":[{"source":"/garden/tree-sitter-graph","target":"/garden/tree-sitter","text":"tree-sitter"},{"source":"/garden/tree-sitter-graph","target":"/garden/tree-sitter","text":"tree-sitter"},{"source":"/garden/tree-sitter-graph","target":"/garden/tree-sitter","text":"tree-sitter"},{"source":"/garden/tree-sitter-graph","target":"/garden/tree-sitter","text":"tree-sitter"},{"source":"/garden/tree-sitter-graph","target":"/garden/tree-sitter","text":"tree-sitter"},{"source":"/garden/library","target":"/garden/tree-sitter","text":"tree-sitter"},{"source":"/garden/code","target":"/garden/tree-sitter","text":"tree-sitter"}],"/garden/tree-sitter-graph":[{"source":"/garden/tree-sitter","target":"/garden/tree-sitter-graph","text":"tree-sitter-graph"},{"source":"/garden/tree-sitter","target":"/garden/tree-sitter-graph","text":"tree-sitter-graph"},{"source":"/garden/tree-sitter","target":"/garden/tree-sitter-graph","text":"tree-sitter-graph"}],"/garden/wireguard":[{"source":"/garden/tailscale","target":"/garden/wireguard","text":"Wireguard"}],"/garden/work-queue":[],"/garden/workflow":[{"source":"/garden/apache-airflow","target":"/garden/workflow","text":"Workflow"},{"source":"/garden/inbox-pattern","target":"/garden/workflow","text":"workflow"}],"/garden/yaml":[{"source":"/garden/declarative-programming","target":"/garden/yaml","text":"YAML"},{"source":"/garden/framework","target":"/garden/yaml","text":"YAML"},{"source":"/garden/hcl","target":"/garden/yaml","text":"YAML"},{"source":"/garden/hcl","target":"/garden/yaml","text":"YAML"},{"source":"/garden/hcl","target":"/garden/yaml","text":"YAML"},{"source":"/garden/hcl","target":"/garden/yaml","text":"YAML"},{"source":"/garden/language","target":"/garden/yaml","text":"YAML"},{"source":"/garden/library","target":"/garden/yaml","text":"YAML"},{"source":"/garden/json","target":"/garden/yaml","text":"YAML"},{"source":"/garden/declarative-iac","target":"/garden/yaml","text":"YAML"},{"source":"/garden/code","target":"/garden/yaml","text":"YAML"},{"source":"/garden/code","target":"/garden/yaml","text":"YAML"}],"/garden/yamlscript":[{"source":"/garden/hcl","target":"/garden/yamlscript","text":"YAMLScript"},{"source":"/garden/yaml","target":"/garden/yamlscript","text":"YAMLScript"}],"/garden/zanzibar":[],"/garden/zap":[{"source":"/garden/framework","target":"/garden/zap","text":"Zap"},{"source":"/garden/library","target":"/garden/zap","text":"Zap"},{"source":"/garden/code","target":"/garden/zap","text":"Zap"}],"/garden/ztna":[{"source":"/garden/tailscale","target":"/garden/ztna","text":"ZTNA"},{"source":"/garden/boundary-hashicorp","target":"/garden/ztna","text":"ZTNA"}],"/linkindex/index.json":[],"/resources/bash-tips-and-tricks":[],"/resources/container-tips-and-tricks":[],"/resources/git-tips-and-tricks":[],"/resources/golang-tips-and-tricks":[],"/resources/hyrums-law":[]},"links":{"/blog/20101118-learning-selenium":[],"/blog/20101204-git-with-svn":[],"/blog/20101205-how-to-be-a-bad-boss":[],"/blog/20101212-deal-with-email-overload":[],"/blog/20101215-js-unit-testing-using-yui":[],"/blog/20101231-minimum-developement-enviornment":[],"/blog/20110104-what-the-restaurant-industry-can-teach-the-software-industry":[],"/blog/20110110-problems-with-agile-implementation":[],"/blog/20110711-understand-capistrano-without-rails":[],"/blog/20110908-software-hazard-pay":[{"source":"/blog/20110908-software-hazard-pay","target":"/garden/git","text":"Git"}],"/blog/20120309-factory-girl-automatic-tests":[],"/blog/20120519-the-everyone-elses-job-is-easy-paradox":[],"/blog/20120520-the-problem-with-best-practices":[],"/blog/20120911-testing-rails-in-ie-through-pow":[],"/blog/20140410-code-does-rust":[],"/blog/20140622-google-sheets-query-language":[],"/blog/20140623-rake-publish":[],"/blog/20140802-bats":[],"/blog/20140917-ruby-sucks-kind-of":[],"/blog/20140921-using-amperstand-instead-of-if":[],"/blog/20140929-golang-stream-file":[],"/blog/20141017-go-concurrency-patterns":[],"/blog/20141215-emacs-key-binding":[],"/blog/20150210-emacs-full-screen":[],"/blog/20150210-emacs-tabs-and-tab-groups":[],"/blog/20151230-hugo-blog-development":[],"/blog/20160101-forcing-factors":[],"/blog/20160118-story-points-done-wrong":[],"/blog/20160202-gitflow-simple":[],"/blog/20160423-packer-ova":[],"/blog/20161203-managing-base-docker-images":[],"/blog/20171021-docker-details-dumb-init":[{"source":"/blog/20171021-docker-details-dumb-init","target":"/garden/docker-swarm","text":"Docker Swarm"},{"source":"/blog/20171021-docker-details-dumb-init","target":"/garden/docker-compose","text":"Docker Compose"},{"source":"/blog/20171021-docker-details-dumb-init","target":"/garden/kubernetes","text":"Kubernetes"}],"/blog/20250406-wikilinks":[{"source":"/blog/20250406-wikilinks","target":"/blog/20250406-wikilinks","text":"Hugo Wikilinks"},{"source":"/blog/20250406-wikilinks","target":"/blog/20250406-wikilinks","text":"Hugo Wikilinks"},{"source":"/blog/20250406-wikilinks","target":"/blog/20250406-wikilinks","text":"Hugo Wikilinks"}],"/blog/20250418-kustomize-rollout":[],"/blog/20250514-rag-pipeline":[{"source":"/blog/20250514-rag-pipeline","target":"/garden/single-responsibility-principle","text":"Single Responsibility Principle"},{"source":"/blog/20250514-rag-pipeline","target":"/garden/openapi","text":"OpenAPI"},{"source":"/blog/20250514-rag-pipeline","target":"/garden/cursor-keep-alive","text":"Cursor Keep Alive"},{"source":"/blog/20250514-rag-pipeline","target":"/garden/kubernetes","text":"Kubernetes"}],"/blog/20250615-blast-radius":[{"source":"/blog/20250615-blast-radius","target":"/garden/aws","text":"AWS"},{"source":"/blog/20250615-blast-radius","target":"/garden/kustomize","text":"Kustomize"},{"source":"/blog/20250615-blast-radius","target":"/garden/cue","text":"CUE"}],"/blog/20260603-ai-proof-software-careers":[],"/blog/20260605-agent-skills":[{"source":"/blog/20260605-agent-skills","target":"/garden/agent-skills-framework","text":"Agent Skills Framework"},{"source":"/blog/20260605-agent-skills","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"}],"/contentindex/index.json":[],"/garden/12-factor-app":[{"source":"/garden/12-factor-app","target":"/garden/technique","text":"Technique"}],"/garden/3-point-estimate":[{"source":"/garden/3-point-estimate","target":"/garden/scrum","text":"Scrum"},{"source":"/garden/3-point-estimate","target":"/garden/planning-poker","text":"Planning Poker"},{"source":"/garden/3-point-estimate","target":"/garden/planning-poker","text":"Planning Poker"},{"source":"/garden/3-point-estimate","target":"/garden/technique","text":"Technique"}],"/garden/a-model-of-communication":[{"source":"/garden/a-model-of-communication","target":"/garden/technique","text":"Technique"}],"/garden/access-on-demand":[{"source":"/garden/access-on-demand","target":"/garden/technique","text":"Technique"}],"/garden/agent-client-protocol":[{"source":"/garden/agent-client-protocol","target":"/garden/ide","text":"IDE"},{"source":"/garden/agent-client-protocol","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/agent-client-protocol","target":"/garden/platform","text":"Platform"}],"/garden/agent-skills-framework":[{"source":"/garden/agent-skills-framework","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/agent-skills-framework","target":"/garden/gemini","text":"Gemini"},{"source":"/garden/agent-skills-framework","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/agent-skills-framework","target":"/garden/codex","text":"Codex"},{"source":"/garden/agent-skills-framework","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/agent-skills-framework","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/agent-skills-framework","target":"/garden/gbrain","text":"gbrain"},{"source":"/garden/agent-skills-framework","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/agent-skills-framework","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/agent-skills-framework","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/agent-skills-framework","target":"/garden/gemini","text":"Gemini"},{"source":"/garden/agent-skills-framework","target":"/garden/codex","text":"Codex"},{"source":"/garden/agent-skills-framework","target":"/garden/cline","text":"Cline"},{"source":"/garden/agent-skills-framework","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/agent-skills-framework","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/agent-skills-framework","target":"/garden/technique","text":"Technique"},{"source":"/garden/agent-skills-framework","target":"/garden/ai-techniques","text":"AI Techniques"}],"/garden/agent-skills-sources":[{"source":"/garden/agent-skills-sources","target":"/garden/agent-skills-framework","text":"Agent Skills Framework"},{"source":"/garden/agent-skills-sources","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/agent-skills-sources","target":"/garden/gbrain","text":"gbrain"},{"source":"/garden/agent-skills-sources","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/agent-skills-sources","target":"/garden/gbrain","text":"gbrain"},{"source":"/garden/agent-skills-sources","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/agent-skills-sources","target":"/garden/technique","text":"Technique"},{"source":"/garden/agent-skills-sources","target":"/garden/ai-techniques","text":"AI Techniques"}],"/garden/agile-software-development":[{"source":"/garden/agile-software-development","target":"/garden/technique","text":"Technique"}],"/garden/ai-agent":[{"source":"/garden/ai-agent","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/ai-agent","target":"/garden/agent-client-protocol","text":"Agent Client Protocol"},{"source":"/garden/ai-agent","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/ai-agent","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/ai-agent","target":"/garden/codex","text":"Codex"},{"source":"/garden/ai-agent","target":"/garden/gemini","text":"Gemini"},{"source":"/garden/ai-agent","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/ai-agent","target":"/garden/ollama","text":"Ollama"},{"source":"/garden/ai-agent","target":"/garden/platform","text":"Platform"},{"source":"/garden/ai-agent","target":"/garden/ide","text":"IDE"},{"source":"/garden/ai-agent","target":"/garden/artificial-intelligence-machine-learning","text":"Artificial Intelligence & Machine Learning"},{"source":"/garden/ai-agent","target":"/garden/openclaw","text":"OpenClaw"},{"source":"/garden/ai-agent","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/ai-agent","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/ai-agent","target":"/garden/tool","text":"Tools"}],"/garden/ai-techniques":[{"source":"/garden/ai-techniques","target":"/garden/technique","text":"Technique"},{"source":"/garden/ai-techniques","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/ai-techniques","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/ai-techniques","target":"/garden/gbrain","text":"gbrain"},{"source":"/garden/ai-techniques","target":"/garden/agent-client-protocol","text":"Agent Client Protocol"},{"source":"/garden/ai-techniques","target":"/garden/artificial-intelligence-machine-learning","text":"Artificial Intelligence & Machine Learning"},{"source":"/garden/ai-techniques","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/ai-techniques","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/ai-techniques","target":"/garden/codex","text":"Codex"},{"source":"/garden/ai-techniques","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/ai-techniques","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/ai-techniques","target":"/garden/ide","text":"IDE"},{"source":"/garden/ai-techniques","target":"/garden/ollama","text":"Ollama"},{"source":"/garden/ai-techniques","target":"/garden/platform","text":"Platform"},{"source":"/garden/ai-techniques","target":"/garden/gbrain","text":"gbrain"},{"source":"/garden/ai-techniques","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/ai-techniques","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/ai-techniques","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/ai-techniques","target":"/garden/ai-agent","text":"AI Agent"}],"/garden/ansible":[{"source":"/garden/ansible","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/ansible","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/ansible","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/ansible","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/ansible","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/ansible","target":"/garden/capistrano","text":"Capistrano"},{"source":"/garden/ansible","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/ansible","target":"/garden/tool","text":"Tools"}],"/garden/apache-airflow":[{"source":"/garden/apache-airflow","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/apache-airflow","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/apache-airflow","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/apache-airflow","target":"/garden/workflow","text":"Workflow"},{"source":"/garden/apache-airflow","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/apache-airflow","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/apache-airflow","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/apache-airflow","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/apache-airflow","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/apache-airflow","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/apache-airflow","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/apache-airflow","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/apache-airflow","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/apache-airflow","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/apache-airflow","target":"/garden/tool","text":"Tools"},{"source":"/garden/apache-airflow","target":"/garden/orchestrator","text":"Orchestrator"}],"/garden/api":[{"source":"/garden/api","target":"/garden/technique","text":"Technique"},{"source":"/garden/api","target":"/garden/grpc","text":"gRPC"},{"source":"/garden/api","target":"/garden/graphql","text":"GraphQL"},{"source":"/garden/api","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/api","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/api","target":"/garden/grpc","text":"gRPC"},{"source":"/garden/api","target":"/garden/graphql","text":"GraphQL"}],"/garden/argo-workflows":[{"source":"/garden/argo-workflows","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/argo-workflows","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/argo-workflows","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/argo-workflows","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/argo-workflows","target":"/garden/jenkins-x","text":"Jenkins X"},{"source":"/garden/argo-workflows","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/argo-workflows","target":"/garden/tool","text":"Tools"},{"source":"/garden/argo-workflows","target":"/garden/ci-cd-tools","text":"CI-CD Tools"}],"/garden/argocd":[{"source":"/garden/argocd","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/argocd","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/argocd","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/argocd","target":"/garden/helm","text":"Helm"},{"source":"/garden/argocd","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/argocd","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/argocd","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/argocd","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/argocd","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/argocd","target":"/garden/ansible","text":"Ansible"},{"source":"/garden/argocd","target":"/garden/tool","text":"Tools"},{"source":"/garden/argocd","target":"/garden/ci-cd-tools","text":"CI-CD Tools"}],"/garden/artificial-intelligence-machine-learning":[{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/technique","text":"Technique"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/ai-techniques","text":"AI Techniques"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/gbrain","text":"gbrain"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/ollama","text":"Ollama"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/platform","text":"Platform"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/dagu","text":"Dagu"}],"/garden/asciiflow":[{"source":"/garden/asciiflow","target":"/garden/draw-io","text":"Draw.io"},{"source":"/garden/asciiflow","target":"/garden/diagramming","text":"Diagramming"},{"source":"/garden/asciiflow","target":"/garden/draw-io","text":"Draw.io"},{"source":"/garden/asciiflow","target":"/garden/tool","text":"Tools"}],"/garden/auth0":[{"source":"/garden/auth0","target":"/garden/frontegg","text":"FrontEgg"},{"source":"/garden/auth0","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/auth0","target":"/garden/access-on-demand","text":"Access on Demand"},{"source":"/garden/auth0","target":"/garden/boundary-hashicorp","text":"Boundary (Hashicorp)"},{"source":"/garden/auth0","target":"/garden/platform","text":"Platform"}],"/garden/aws":[{"source":"/garden/aws","target":"/garden/cloud","text":"Cloud"},{"source":"/garden/aws","target":"/garden/azure","text":"Azure"},{"source":"/garden/aws","target":"/garden/hybrid-cloud","text":"Hybrid Cloud"},{"source":"/garden/aws","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/aws","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/aws","target":"/garden/aws-eks","text":"AWS EKS"},{"source":"/garden/aws","target":"/garden/aws-eks","text":"AWS EKS"},{"source":"/garden/aws","target":"/garden/platform","text":"Platform"}],"/garden/aws-eks":[{"source":"/garden/aws-eks","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/aws-eks","target":"/garden/aws","text":"AWS"},{"source":"/garden/aws-eks","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/aws-eks","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/aws-eks","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/aws-eks","target":"/garden/aws","text":"AWS"},{"source":"/garden/aws-eks","target":"/garden/platform","text":"Platform"},{"source":"/garden/aws-eks","target":"/garden/cloud","text":"Cloud"},{"source":"/garden/aws-eks","target":"/garden/orchestrator","text":"Orchestrator"}],"/garden/azure":[{"source":"/garden/azure","target":"/garden/cloud","text":"Cloud"},{"source":"/garden/azure","target":"/garden/aws","text":"AWS"},{"source":"/garden/azure","target":"/garden/hybrid-cloud","text":"Hybrid Cloud"},{"source":"/garden/azure","target":"/garden/hybrid-cloud","text":"Hybrid Cloud"},{"source":"/garden/azure","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/azure","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/azure","target":"/garden/platform","text":"Platform"}],"/garden/bitbucket-pipelines":[{"source":"/garden/bitbucket-pipelines","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/bitbucket-pipelines","target":"/garden/github","text":"GitHub"},{"source":"/garden/bitbucket-pipelines","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/bitbucket-pipelines","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/bitbucket-pipelines","target":"/garden/platform","text":"Platform"},{"source":"/garden/bitbucket-pipelines","target":"/garden/ci-cd-tools","text":"CI-CD Tools"}],"/garden/boundary-hashicorp":[{"source":"/garden/boundary-hashicorp","target":"/garden/ztna","text":"ZTNA"},{"source":"/garden/boundary-hashicorp","target":"/garden/access-on-demand","text":"Access on Demand"},{"source":"/garden/boundary-hashicorp","target":"/garden/tailscale","text":"Tailscale"},{"source":"/garden/boundary-hashicorp","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/boundary-hashicorp","target":"/garden/auth0","text":"Auth0"},{"source":"/garden/boundary-hashicorp","target":"/garden/tool","text":"Tools"}],"/garden/capistrano":[{"source":"/garden/capistrano","target":"/garden/ruby","text":"Ruby"},{"source":"/garden/capistrano","target":"/garden/ruby-on-rails","text":"Ruby on Rails"},{"source":"/garden/capistrano","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/capistrano","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/capistrano","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/capistrano","target":"/garden/ansible","text":"Ansible"},{"source":"/garden/capistrano","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/capistrano","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/capistrano","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/capistrano","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/capistrano","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/capistrano","target":"/garden/tool","text":"Tools"},{"source":"/garden/capistrano","target":"/garden/ci-cd-tools","text":"CI-CD Tools"}],"/garden/cattle-not-pets":[{"source":"/garden/cattle-not-pets","target":"/garden/containerization","text":"containerization"},{"source":"/garden/cattle-not-pets","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/cattle-not-pets","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/cattle-not-pets","target":"/garden/cloud","text":"Cloud"},{"source":"/garden/cattle-not-pets","target":"/garden/technique","text":"Technique"}],"/garden/cdks":[{"source":"/garden/cdks","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/cdks","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/cdks","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/cdks","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/cdks","target":"/garden/tool","text":"Tools"}],"/garden/cel":[{"source":"/garden/cel","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/cel","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/cel","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/cel","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/cel","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/cel","target":"/garden/code","text":"Code"},{"source":"/garden/cel","target":"/garden/language","text":"Language"}],"/garden/chatops":[{"source":"/garden/chatops","target":"/garden/slack","text":"Slack"},{"source":"/garden/chatops","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/chatops","target":"/garden/incident-management","text":"Incident Management"},{"source":"/garden/chatops","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/chatops","target":"/garden/slack","text":"Slack"},{"source":"/garden/chatops","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/chatops","target":"/garden/technique","text":"Technique"}],"/garden/ci-cd-tools":[{"source":"/garden/ci-cd-tools","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/ci-cd-tools","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/ci-cd-tools","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/ci-cd-tools","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/ci-cd-tools","target":"/garden/feature-flags","text":"Feature Flags"},{"source":"/garden/ci-cd-tools","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/ci-cd-tools","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/ci-cd-tools","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/ci-cd-tools","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/ci-cd-tools","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/ci-cd-tools","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/ci-cd-tools","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/ci-cd-tools","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/ci-cd-tools","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/ci-cd-tools","target":"/garden/capistrano","text":"Capistrano"},{"source":"/garden/ci-cd-tools","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/ci-cd-tools","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/ci-cd-tools","target":"/garden/tool","text":"Tools"}],"/garden/claude-code":[{"source":"/garden/claude-code","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/claude-code","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/claude-code","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/claude-code","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/claude-code","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/claude-code","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/claude-code","target":"/garden/openclaw","text":"OpenClaw"},{"source":"/garden/claude-code","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/claude-code","target":"/garden/codex","text":"Codex"},{"source":"/garden/claude-code","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/claude-code","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/claude-code","target":"/garden/openclaw","text":"OpenClaw"},{"source":"/garden/claude-code","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/claude-code","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/claude-code","target":"/garden/codex","text":"Codex"},{"source":"/garden/claude-code","target":"/garden/tool","text":"Tools"}],"/garden/cline":[{"source":"/garden/cline","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/cline","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/cline","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/cline","target":"/garden/kilo-ai","text":"Kilo.ai"},{"source":"/garden/cline","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/cline","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/cline","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/cline","target":"/garden/kilo-ai","text":"Kilo.ai"},{"source":"/garden/cline","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/cline","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/cline","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/cline","target":"/garden/kilo-ai","text":"Kilo.ai"},{"source":"/garden/cline","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/cline","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/cline","target":"/garden/tool","text":"Tools"}],"/garden/cloud":[{"source":"/garden/cloud","target":"/garden/platform","text":"Platform"},{"source":"/garden/cloud","target":"/garden/aws","text":"AWS"},{"source":"/garden/cloud","target":"/garden/azure","text":"Azure"},{"source":"/garden/cloud","target":"/garden/aws-eks","text":"AWS EKS"},{"source":"/garden/cloud","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/cloud","target":"/garden/hybrid-cloud","text":"Hybrid Cloud"},{"source":"/garden/cloud","target":"/garden/cloud-lift-and-shift","text":"Cloud Lift and Shift"},{"source":"/garden/cloud","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/cloud","target":"/garden/aws","text":"AWS"},{"source":"/garden/cloud","target":"/garden/azure","text":"Azure"},{"source":"/garden/cloud","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/cloud","target":"/garden/aws-eks","text":"AWS EKS"},{"source":"/garden/cloud","target":"/garden/hybrid-cloud","text":"Hybrid Cloud"},{"source":"/garden/cloud","target":"/garden/cattle-not-pets","text":"Cattle Not Pets"},{"source":"/garden/cloud","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/cloud","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/cloud","target":"/garden/tailscale","text":"Tailscale"}],"/garden/cloud-lift-and-shift":[{"source":"/garden/cloud-lift-and-shift","target":"/garden/cloud","text":"Cloud"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/aws","text":"AWS"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/azure","text":"Azure"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/hybrid-cloud","text":"Hybrid Cloud"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/cattle-not-pets","text":"Cattle Not Pets"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/containerization","text":"Containerization"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/hybrid-cloud","text":"Hybrid Cloud"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/cattle-not-pets","text":"Cattle Not Pets"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/hybrid-cloud","text":"Hybrid Cloud"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/technique","text":"Technique"}],"/garden/cloudbees":[{"source":"/garden/cloudbees","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/cloudbees","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/cloudbees","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/cloudbees","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/cloudbees","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/cloudbees","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/cloudbees","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/cloudbees","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/cloudbees","target":"/garden/jenkins-x","text":"Jenkins X"},{"source":"/garden/cloudbees","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/cloudbees","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/cloudbees","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/cloudbees","target":"/garden/platform","text":"Platform"}],"/garden/clutch":[{"source":"/garden/clutch","target":"/garden/platform","text":"Platform"}],"/garden/codacy":[{"source":"/garden/codacy","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/codacy","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/codacy","target":"/garden/code-scanner","text":"Code Scanner"},{"source":"/garden/codacy","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/codacy","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/codacy","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/codacy","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/codacy","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/codacy","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/codacy","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/codacy","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/codacy","target":"/garden/tool","text":"Tools"}],"/garden/code":[{"source":"/garden/code","target":"/garden/platform","text":"Platform"},{"source":"/garden/code","target":"/garden/technique","text":"Technique"},{"source":"/garden/code","target":"/garden/language","text":"Language"},{"source":"/garden/code","target":"/garden/yaml","text":"YAML"},{"source":"/garden/code","target":"/garden/json","text":"JSON"},{"source":"/garden/code","target":"/garden/hcl","text":"HCL"},{"source":"/garden/code","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/code","target":"/garden/protobuf","text":"Protobuf"},{"source":"/garden/code","target":"/garden/library","text":"Library"},{"source":"/garden/code","target":"/garden/zap","text":"Zap"},{"source":"/garden/code","target":"/garden/tree-sitter","text":"tree-sitter"},{"source":"/garden/code","target":"/garden/opentelemetry","text":"OpenTelemetry"},{"source":"/garden/code","target":"/garden/framework","text":"Framework"},{"source":"/garden/code","target":"/garden/ruby-on-rails","text":"Ruby on Rails"},{"source":"/garden/code","target":"/garden/test-framework","text":"Test Framework"},{"source":"/garden/code","target":"/garden/helm-unittest","text":"Helm Unittest"},{"source":"/garden/code","target":"/garden/container-structure-test","text":"Container Structure Test"},{"source":"/garden/code","target":"/garden/game-engine","text":"game engine"},{"source":"/garden/code","target":"/garden/ebitengine","text":"Ebitengine"},{"source":"/garden/code","target":"/garden/go","text":"GoLang"},{"source":"/garden/code","target":"/garden/python","text":"Python"},{"source":"/garden/code","target":"/garden/ruby","text":"Ruby"},{"source":"/garden/code","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/code","target":"/garden/library","text":"Library"},{"source":"/garden/code","target":"/garden/framework","text":"Framework"},{"source":"/garden/code","target":"/garden/language","text":"Language"},{"source":"/garden/code","target":"/garden/yaml","text":"YAML"},{"source":"/garden/code","target":"/garden/json","text":"JSON"},{"source":"/garden/code","target":"/garden/test-framework","text":"Test Framework"},{"source":"/garden/code","target":"/garden/language","text":"Language"},{"source":"/garden/code","target":"/garden/library","text":"Library"}],"/garden/code-linting":[{"source":"/garden/code-linting","target":"/garden/technique","text":"Technique"},{"source":"/garden/code-linting","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/code-linting","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/code-linting","target":"/garden/editorconfig","text":"EditorConfig"},{"source":"/garden/code-linting","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/code-linting","target":"/garden/codacy","text":"Codacy"},{"source":"/garden/code-linting","target":"/garden/code-review","text":"Code Review"},{"source":"/garden/code-linting","target":"/garden/code-scanner","text":"Code Scanner"},{"source":"/garden/code-linting","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/code-linting","target":"/garden/conftest","text":"Conftest"}],"/garden/code-review":[{"source":"/garden/code-review","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/code-review","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/code-review","target":"/garden/github","text":"GitHub"},{"source":"/garden/code-review","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/code-review","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/code-review","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/code-review","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/code-review","target":"/garden/codacy","text":"Codacy"},{"source":"/garden/code-review","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/code-review","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/code-review","target":"/garden/technique","text":"Technique"}],"/garden/code-scanner":[{"source":"/garden/code-scanner","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/code-scanner","target":"/garden/technique","text":"Technique"},{"source":"/garden/code-scanner","target":"/garden/codacy","text":"Codacy"},{"source":"/garden/code-scanner","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/code-scanner","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/code-scanner","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/code-scanner","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/code-scanner","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/code-scanner","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/code-scanner","target":"/garden/codacy","text":"Codacy"},{"source":"/garden/code-scanner","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/code-scanner","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/code-scanner","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/code-scanner","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/code-scanner","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/code-scanner","target":"/garden/tool","text":"Tools"}],"/garden/codeship":[{"source":"/garden/codeship","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/codeship","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/codeship","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/codeship","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/codeship","target":"/garden/platform","text":"Platform"},{"source":"/garden/codeship","target":"/garden/ci-cd-tools","text":"CI-CD Tools"}],"/garden/codex":[{"source":"/garden/codex","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/codex","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/codex","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/codex","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/codex","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/codex","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/codex","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/codex","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/codex","target":"/garden/openclaw","text":"OpenClaw"},{"source":"/garden/codex","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/codex","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/codex","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/codex","target":"/garden/tool","text":"Tools"}],"/garden/concourse-ci":[{"source":"/garden/concourse-ci","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/concourse-ci","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/concourse-ci","target":"/garden/platform","text":"Platform"},{"source":"/garden/concourse-ci","target":"/garden/ci-cd-tools","text":"CI-CD Tools"}],"/garden/conftest":[{"source":"/garden/conftest","target":"/garden/code-scanner","text":"Code Scanner"},{"source":"/garden/conftest","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/conftest","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/conftest","target":"/garden/technique","text":"Technique"},{"source":"/garden/conftest","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/conftest","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/conftest","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/conftest","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/conftest","target":"/garden/codacy","text":"Codacy"},{"source":"/garden/conftest","target":"/garden/cel","text":"CEL"},{"source":"/garden/conftest","target":"/garden/codacy","text":"Codacy"},{"source":"/garden/conftest","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/conftest","target":"/garden/cel","text":"CEL"},{"source":"/garden/conftest","target":"/garden/tool","text":"Tools"}],"/garden/container-structure-test":[{"source":"/garden/container-structure-test","target":"/garden/code","text":"Code"},{"source":"/garden/container-structure-test","target":"/garden/test-framework","text":"Test Framework"},{"source":"/garden/container-structure-test","target":"/garden/containerization","text":"Containerization"},{"source":"/garden/container-structure-test","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/container-structure-test","target":"/garden/helm-unittest","text":"Helm Unittest"},{"source":"/garden/container-structure-test","target":"/garden/docker","text":"Docker"}],"/garden/containerization":[{"source":"/garden/containerization","target":"/garden/cattle-not-pets","text":"Cattle Not Pets"},{"source":"/garden/containerization","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/containerization","target":"/garden/12-factor-app","text":"12 Factor App"},{"source":"/garden/containerization","target":"/garden/technique","text":"Technique"},{"source":"/garden/containerization","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/containerization","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/containerization","target":"/garden/cloud","text":"Cloud"},{"source":"/garden/containerization","target":"/garden/docker","text":"Docker"},{"source":"/garden/containerization","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/containerization","target":"/garden/container-structure-test","text":"Container Structure Test"},{"source":"/garden/containerization","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/containerization","target":"/garden/cattle-not-pets","text":"Cattle Not Pets"},{"source":"/garden/containerization","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/containerization","target":"/garden/container-structure-test","text":"Container Structure Test"},{"source":"/garden/containerization","target":"/garden/argocd","text":"ArgoCD"}],"/garden/continuous-delivery":[{"source":"/garden/continuous-delivery","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/continuous-delivery","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/continuous-delivery","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/continuous-delivery","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/continuous-delivery","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/continuous-delivery","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/continuous-delivery","target":"/garden/feature-flags","text":"Feature Flags"},{"source":"/garden/continuous-delivery","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/continuous-delivery","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/continuous-delivery","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/continuous-delivery","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/continuous-delivery","target":"/garden/capistrano","text":"Capistrano"},{"source":"/garden/continuous-delivery","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/continuous-delivery","target":"/garden/technique","text":"Technique"}],"/garden/continuous-deployment":[{"source":"/garden/continuous-deployment","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/continuous-deployment","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/continuous-deployment","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/continuous-deployment","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/continuous-deployment","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/continuous-deployment","target":"/garden/feature-flags","text":"Feature Flags"},{"source":"/garden/continuous-deployment","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/continuous-deployment","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/continuous-deployment","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/continuous-deployment","target":"/garden/12-factor-app","text":"12 Factor App"},{"source":"/garden/continuous-deployment","target":"/garden/capistrano","text":"Capistrano"},{"source":"/garden/continuous-deployment","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/continuous-deployment","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/continuous-deployment","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/continuous-deployment","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/continuous-deployment","target":"/garden/technique","text":"Technique"}],"/garden/continuous-integration":[{"source":"/garden/continuous-integration","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/continuous-integration","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/continuous-integration","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/continuous-integration","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/continuous-integration","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/continuous-integration","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/continuous-integration","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/continuous-integration","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/continuous-integration","target":"/garden/code-review","text":"Code Review"},{"source":"/garden/continuous-integration","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/continuous-integration","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/continuous-integration","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/continuous-integration","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/continuous-integration","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/continuous-integration","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/continuous-integration","target":"/garden/technique","text":"Technique"}],"/garden/cue":[{"source":"/garden/cue","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/cue","target":"/garden/json-schema","text":"JSON Schema"},{"source":"/garden/cue","target":"/garden/protobuf","text":"Protobuf"},{"source":"/garden/cue","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/cue","target":"/garden/tool","text":"Tools"}],"/garden/cursor":[{"source":"/garden/cursor","target":"/garden/ide","text":"IDE"},{"source":"/garden/cursor","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/cursor","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/cursor","target":"/garden/ide","text":"IDE"},{"source":"/garden/cursor","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/cursor","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/cursor","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/cursor","target":"/garden/ide","text":"IDE"},{"source":"/garden/cursor","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/cursor","target":"/garden/codex","text":"Codex"},{"source":"/garden/cursor","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/cursor","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/cursor","target":"/garden/tool","text":"Tools"}],"/garden/cursor-agent":[{"source":"/garden/cursor-agent","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/cursor-agent","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/cursor-agent","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/cursor-agent","target":"/garden/openclaw","text":"OpenClaw"},{"source":"/garden/cursor-agent","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/cursor-agent","target":"/garden/ide","text":"IDE"},{"source":"/garden/cursor-agent","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/cursor-agent","target":"/garden/codex","text":"Codex"},{"source":"/garden/cursor-agent","target":"/garden/gemini","text":"Gemini"},{"source":"/garden/cursor-agent","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/cursor-agent","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/cursor-agent","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/cursor-agent","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/cursor-agent","target":"/garden/ide","text":"IDE"},{"source":"/garden/cursor-agent","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/cursor-agent","target":"/garden/tool","text":"Tools"}],"/garden/cursor-keep-alive":[{"source":"/garden/cursor-keep-alive","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/cursor-keep-alive","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/cursor-keep-alive","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/cursor-keep-alive","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/cursor-keep-alive","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/cursor-keep-alive","target":"/garden/technique","text":"Technique"},{"source":"/garden/cursor-keep-alive","target":"/garden/api","text":"API"}],"/garden/dagu":[{"source":"/garden/dagu","target":"/garden/platform","text":"Platform"},{"source":"/garden/dagu","target":"/garden/orchestrator","text":"Orchestrator"}],"/garden/dbt-core":[{"source":"/garden/dbt-core","target":"/garden/apache-airflow","text":"Apache Airflow"},{"source":"/garden/dbt-core","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/dbt-core","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/dbt-core","target":"/garden/apache-airflow","text":"Apache Airflow"},{"source":"/garden/dbt-core","target":"/garden/apache-airflow","text":"Apache Airflow"},{"source":"/garden/dbt-core","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/dbt-core","target":"/garden/tool","text":"Tools"}],"/garden/declarative-iac":[{"source":"/garden/declarative-iac","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/declarative-iac","target":"/garden/cdks","text":"CDKs"},{"source":"/garden/declarative-iac","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/declarative-iac","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/declarative-iac","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/declarative-iac","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/declarative-iac","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/declarative-iac","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/declarative-iac","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/declarative-iac","target":"/garden/hcl","text":"HCL"},{"source":"/garden/declarative-iac","target":"/garden/helm","text":"Helm"},{"source":"/garden/declarative-iac","target":"/garden/yaml","text":"YAML"},{"source":"/garden/declarative-iac","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/declarative-iac","target":"/garden/ansible","text":"Ansible"},{"source":"/garden/declarative-iac","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/declarative-iac","target":"/garden/declarative-programming","text":"Declarative Programming"},{"source":"/garden/declarative-iac","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/declarative-iac","target":"/garden/technique","text":"Technique"}],"/garden/declarative-programming":[{"source":"/garden/declarative-programming","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/declarative-programming","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/declarative-programming","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/declarative-programming","target":"/garden/helm-chart","text":"Helm Chart"},{"source":"/garden/declarative-programming","target":"/garden/hcl","text":"HCL"},{"source":"/garden/declarative-programming","target":"/garden/yaml","text":"YAML"},{"source":"/garden/declarative-programming","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/declarative-programming","target":"/garden/cdks","text":"CDKs"},{"source":"/garden/declarative-programming","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/declarative-programming","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/declarative-programming","target":"/garden/technique","text":"Technique"},{"source":"/garden/declarative-programming","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/declarative-programming","target":"/garden/imperative-iac","text":"Imperative IaC"}],"/garden/design-pattern":[{"source":"/garden/design-pattern","target":"/garden/technique","text":"Technique"},{"source":"/garden/design-pattern","target":"/garden/platform","text":"Platform"},{"source":"/garden/design-pattern","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/design-pattern","target":"/garden/framework","text":"Framework"},{"source":"/garden/design-pattern","target":"/garden/ai-techniques","text":"AI Techniques"},{"source":"/garden/design-pattern","target":"/garden/technique","text":"Technique"},{"source":"/garden/design-pattern","target":"/garden/code-review","text":"Code Review"},{"source":"/garden/design-pattern","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/design-pattern","target":"/garden/technique","text":"Technique"},{"source":"/garden/design-pattern","target":"/garden/design-pattern","text":"Design Pattern"}],"/garden/dev-container":[{"source":"/garden/dev-container","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/dev-container","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/dev-container","target":"/garden/docker","text":"Docker"},{"source":"/garden/dev-container","target":"/garden/containerization","text":"Containerization"},{"source":"/garden/dev-container","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/dev-container","target":"/garden/ansible","text":"Ansible"},{"source":"/garden/dev-container","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/dev-container","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/dev-container","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/dev-container","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/dev-container","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/dev-container","target":"/garden/ide","text":"IDE"},{"source":"/garden/dev-container","target":"/garden/containerization","text":"Containerization"},{"source":"/garden/dev-container","target":"/garden/code","text":"Code"}],"/garden/devops":[{"source":"/garden/devops","target":"/garden/agile-software-development","text":"Agile Software Development"},{"source":"/garden/devops","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/devops","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/devops","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/devops","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/devops","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/devops","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/devops","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/devops","target":"/garden/code-review","text":"Code Review"},{"source":"/garden/devops","target":"/garden/cattle-not-pets","text":"Cattle Not Pets"},{"source":"/garden/devops","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/devops","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/devops","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/devops","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/devops","target":"/garden/cloudbees","text":"CloudBees"},{"source":"/garden/devops","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/devops","target":"/garden/technique","text":"Technique"}],"/garden/devsecops":[{"source":"/garden/devsecops","target":"/garden/devops","text":"DevOps"},{"source":"/garden/devsecops","target":"/garden/agile-software-development","text":"Agile Software Development"},{"source":"/garden/devsecops","target":"/garden/devops","text":"DevOps"},{"source":"/garden/devsecops","target":"/garden/agile-software-development","text":"Agile Software Development"},{"source":"/garden/devsecops","target":"/garden/technique","text":"Technique"}],"/garden/diagramming":[{"source":"/garden/diagramming","target":"/garden/draw-io","text":"Draw.io"},{"source":"/garden/diagramming","target":"/garden/asciiflow","text":"AsciiFlow"},{"source":"/garden/diagramming","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/diagramming","target":"/garden/gbrain","text":"gbrain"},{"source":"/garden/diagramming","target":"/garden/draw-io","text":"Draw.io"},{"source":"/garden/diagramming","target":"/garden/asciiflow","text":"AsciiFlow"},{"source":"/garden/diagramming","target":"/garden/diagramming","text":"Diagramming"},{"source":"/garden/diagramming","target":"/garden/tool","text":"Tools"}],"/garden/direnv":[{"source":"/garden/direnv","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/direnv","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/direnv","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/direnv","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/direnv","target":"/garden/environment-managers","text":"Environment Managers"},{"source":"/garden/direnv","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/direnv","target":"/garden/tool","text":"Tools"}],"/garden/dive":[{"source":"/garden/dive","target":"/garden/container-structure-test","text":"Container Structure Test"},{"source":"/garden/dive","target":"/garden/containerization","text":"Containerization"},{"source":"/garden/dive","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/dive","target":"/garden/docker","text":"Docker"},{"source":"/garden/dive","target":"/garden/container-structure-test","text":"Container Structure Test"},{"source":"/garden/dive","target":"/garden/tool","text":"Tools"}],"/garden/docker":[{"source":"/garden/docker","target":"/garden/docker-desktop","text":"Docker Desktop"},{"source":"/garden/docker","target":"/garden/containerization","text":"Containerization"},{"source":"/garden/docker","target":"/garden/containerization","text":"Containerization"},{"source":"/garden/docker","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/docker","target":"/garden/dive","text":"Dive"},{"source":"/garden/docker","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/docker","target":"/garden/tool","text":"Tools"}],"/garden/docker-compose":[{"source":"/garden/docker-compose","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/docker-compose","target":"/garden/skaffold","text":"Skaffold"},{"source":"/garden/docker-compose","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/docker-compose","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/docker-compose","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/docker-compose","target":"/garden/docker-swarm","text":"Docker Swarm"},{"source":"/garden/docker-compose","target":"/garden/skaffold","text":"Skaffold"},{"source":"/garden/docker-compose","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/docker-compose","target":"/garden/skaffold","text":"Skaffold"},{"source":"/garden/docker-compose","target":"/garden/docker","text":"Docker"},{"source":"/garden/docker-compose","target":"/garden/docker","text":"Docker"},{"source":"/garden/docker-compose","target":"/garden/tool","text":"Tools"}],"/garden/docker-desktop":[{"source":"/garden/docker-desktop","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/docker-desktop","target":"/garden/containerization","text":"Containerization"},{"source":"/garden/docker-desktop","target":"/garden/docker-compose","text":"Docker Compose"},{"source":"/garden/docker-desktop","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/docker-desktop","target":"/garden/docker","text":"Docker"},{"source":"/garden/docker-desktop","target":"/garden/docker","text":"Docker"},{"source":"/garden/docker-desktop","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/docker-desktop","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/docker-desktop","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/docker-desktop","target":"/garden/docker","text":"Docker"},{"source":"/garden/docker-desktop","target":"/garden/platform","text":"Platform"}],"/garden/docker-swarm":[{"source":"/garden/docker-swarm","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/docker-swarm","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/docker-swarm","target":"/garden/docker-compose","text":"Docker Compose"},{"source":"/garden/docker-swarm","target":"/garden/docker","text":"Docker"},{"source":"/garden/docker-swarm","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/docker-swarm","target":"/garden/docker-compose","text":"Docker Compose"},{"source":"/garden/docker-swarm","target":"/garden/containerization","text":"Containerization"},{"source":"/garden/docker-swarm","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/docker-swarm","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/docker-swarm","target":"/garden/docker-compose","text":"Docker Compose"},{"source":"/garden/docker-swarm","target":"/garden/docker","text":"Docker"},{"source":"/garden/docker-swarm","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/docker-swarm","target":"/garden/platform","text":"Platform"}],"/garden/dotfiles-in-version-control":[{"source":"/garden/dotfiles-in-version-control","target":"/garden/git","text":"git"},{"source":"/garden/dotfiles-in-version-control","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/dotfiles-in-version-control","target":"/garden/technique","text":"Technique"}],"/garden/draw-io":[{"source":"/garden/draw-io","target":"/garden/diagramming","text":"Diagramming"},{"source":"/garden/draw-io","target":"/garden/asciiflow","text":"AsciiFlow"},{"source":"/garden/draw-io","target":"/garden/diagramming","text":"Diagramming"},{"source":"/garden/draw-io","target":"/garden/tool","text":"Tools"}],"/garden/dry":[{"source":"/garden/dry","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/dry","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/dry","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/dry","target":"/garden/technique","text":"Technique"}],"/garden/dumb-init-for-containers":[{"source":"/garden/dumb-init-for-containers","target":"/garden/tool","text":"Tools"}],"/garden/earlybird":[{"source":"/garden/earlybird","target":"/garden/code-scanner","text":"Code Scanner"},{"source":"/garden/earlybird","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/earlybird","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/earlybird","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/earlybird","target":"/garden/codacy","text":"Codacy"},{"source":"/garden/earlybird","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/earlybird","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/earlybird","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/earlybird","target":"/garden/tool","text":"Tools"}],"/garden/ebitengine":[{"source":"/garden/ebitengine","target":"/garden/game-engine","text":"game engine"},{"source":"/garden/ebitengine","target":"/garden/go","text":"GoLang"},{"source":"/garden/ebitengine","target":"/garden/go","text":"GoLang"},{"source":"/garden/ebitengine","target":"/garden/code","text":"Code"}],"/garden/editorconfig":[{"source":"/garden/editorconfig","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/editorconfig","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/editorconfig","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/editorconfig","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/editorconfig","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/editorconfig","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/editorconfig","target":"/garden/tool","text":"Tools"}],"/garden/enterprise-ready":[{"source":"/garden/enterprise-ready","target":"/garden/12-factor-app","text":"12 Factor App"},{"source":"/garden/enterprise-ready","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/enterprise-ready","target":"/garden/12-factor-app","text":"12 Factor App"},{"source":"/garden/enterprise-ready","target":"/garden/single-sign-on","text":"Single Sign-on"},{"source":"/garden/enterprise-ready","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/enterprise-ready","target":"/garden/slas","text":"SLAs"},{"source":"/garden/enterprise-ready","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/enterprise-ready","target":"/garden/auth0","text":"Auth0"},{"source":"/garden/enterprise-ready","target":"/garden/frontegg","text":"FrontEgg"},{"source":"/garden/enterprise-ready","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/enterprise-ready","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/enterprise-ready","target":"/garden/single-sign-on","text":"Single Sign-on"},{"source":"/garden/enterprise-ready","target":"/garden/slas","text":"SLAs"},{"source":"/garden/enterprise-ready","target":"/garden/technique","text":"Technique"}],"/garden/environment-managers":[{"source":"/garden/environment-managers","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/environment-managers","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/environment-managers","target":"/garden/direnv","text":"direnv"},{"source":"/garden/environment-managers","target":"/garden/direnv","text":"direnv"},{"source":"/garden/environment-managers","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/environment-managers","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/environment-managers","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/environment-managers","target":"/garden/12-factor-app","text":"12 Factor App"},{"source":"/garden/environment-managers","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/environment-managers","target":"/garden/direnv","text":"direnv"},{"source":"/garden/environment-managers","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/environment-managers","target":"/garden/environment-managers","text":"Environment Managers"},{"source":"/garden/environment-managers","target":"/garden/tool","text":"Tools"}],"/garden/feature-flags":[{"source":"/garden/feature-flags","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/feature-flags","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/feature-flags","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/feature-flags","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/feature-flags","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/feature-flags","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/feature-flags","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/feature-flags","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/feature-flags","target":"/garden/technique","text":"Technique"}],"/garden/first-touch-provisioning":[{"source":"/garden/first-touch-provisioning","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/first-touch-provisioning","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/first-touch-provisioning","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/first-touch-provisioning","target":"/garden/ansible","text":"Ansible"},{"source":"/garden/first-touch-provisioning","target":"/garden/helm","text":"Helm"},{"source":"/garden/first-touch-provisioning","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/first-touch-provisioning","target":"/garden/cattle-not-pets","text":"Cattle Not Pets"},{"source":"/garden/first-touch-provisioning","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/first-touch-provisioning","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/first-touch-provisioning","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/first-touch-provisioning","target":"/garden/dry","text":"DRY"},{"source":"/garden/first-touch-provisioning","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/first-touch-provisioning","target":"/garden/cloud","text":"Cloud"},{"source":"/garden/first-touch-provisioning","target":"/garden/technique","text":"Technique"}],"/garden/framework":[{"source":"/garden/framework","target":"/garden/code","text":"Code"},{"source":"/garden/framework","target":"/garden/library","text":"Library"},{"source":"/garden/framework","target":"/garden/ruby-on-rails","text":"Ruby on Rails"},{"source":"/garden/framework","target":"/garden/library","text":"Library"},{"source":"/garden/framework","target":"/garden/opentelemetry","text":"OpenTelemetry"},{"source":"/garden/framework","target":"/garden/zap","text":"Zap"},{"source":"/garden/framework","target":"/garden/test-framework","text":"Test Framework"},{"source":"/garden/framework","target":"/garden/helm-unittest","text":"Helm Unittest"},{"source":"/garden/framework","target":"/garden/game-engine","text":"game engine"},{"source":"/garden/framework","target":"/garden/language","text":"Language"},{"source":"/garden/framework","target":"/garden/yaml","text":"YAML"},{"source":"/garden/framework","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/framework","target":"/garden/framework","text":"Framework"},{"source":"/garden/framework","target":"/garden/code","text":"Code"},{"source":"/garden/framework","target":"/garden/design-pattern","text":"Design Pattern"},{"source":"/garden/framework","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/framework","target":"/garden/technique","text":"Technique"},{"source":"/garden/framework","target":"/garden/library","text":"Library"},{"source":"/garden/framework","target":"/garden/test-framework","text":"Test Framework"},{"source":"/garden/framework","target":"/garden/library","text":"Library"},{"source":"/garden/framework","target":"/garden/language","text":"Language"},{"source":"/garden/framework","target":"/garden/ruby-on-rails","text":"Ruby on Rails"},{"source":"/garden/framework","target":"/garden/ebitengine","text":"Ebitengine"},{"source":"/garden/framework","target":"/garden/game-engine","text":"game engine"},{"source":"/garden/framework","target":"/garden/code","text":"Code"},{"source":"/garden/framework","target":"/garden/framework","text":"Framework"},{"source":"/garden/framework","target":"/garden/platform","text":"Platform"}],"/garden/frontegg":[{"source":"/garden/frontegg","target":"/garden/auth0","text":"Auth0"},{"source":"/garden/frontegg","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/frontegg","target":"/garden/auth0","text":"Auth0"},{"source":"/garden/frontegg","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/frontegg","target":"/garden/platform","text":"Platform"}],"/garden/game-engine":[{"source":"/garden/game-engine","target":"/garden/framework","text":"Framework"},{"source":"/garden/game-engine","target":"/garden/ebitengine","text":"Ebitengine"},{"source":"/garden/game-engine","target":"/garden/go","text":"GoLang"},{"source":"/garden/game-engine","target":"/garden/code","text":"Code"}],"/garden/gatekeeper":[{"source":"/garden/gatekeeper","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/gatekeeper","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/gatekeeper","target":"/garden/cel","text":"CEL"},{"source":"/garden/gatekeeper","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/gatekeeper","target":"/garden/cel","text":"CEL"},{"source":"/garden/gatekeeper","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/gatekeeper","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/gatekeeper","target":"/garden/cel","text":"CEL"},{"source":"/garden/gatekeeper","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/gatekeeper","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/gatekeeper","target":"/garden/cel","text":"CEL"},{"source":"/garden/gatekeeper","target":"/garden/helm","text":"Helm"},{"source":"/garden/gatekeeper","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/gatekeeper","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/gatekeeper","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/gatekeeper","target":"/garden/cel","text":"CEL"},{"source":"/garden/gatekeeper","target":"/garden/tool","text":"Tools"},{"source":"/garden/gatekeeper","target":"/garden/code-scanner","text":"Code Scanner"}],"/garden/gbrain":[{"source":"/garden/gbrain","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/gbrain","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/gbrain","target":"/garden/technique","text":"Technique"},{"source":"/garden/gbrain","target":"/garden/ai-techniques","text":"AI Techniques"}],"/garden/gemini":[{"source":"/garden/gemini","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/gemini","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/gemini","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/gemini","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/gemini","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/gemini","target":"/garden/codex","text":"Codex"},{"source":"/garden/gemini","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/gemini","target":"/garden/openclaw","text":"OpenClaw"},{"source":"/garden/gemini","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/gemini","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/gemini","target":"/garden/codex","text":"Codex"},{"source":"/garden/gemini","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/gemini","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/gemini","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/gemini","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/gemini","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/gemini","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/gemini","target":"/garden/codex","text":"Codex"},{"source":"/garden/gemini","target":"/garden/tool","text":"Tools"}],"/garden/genesis":[{"source":"/garden/genesis","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/genesis","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/genesis","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/genesis","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/genesis","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/genesis","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/genesis","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/genesis","target":"/garden/tool","text":"Tools"},{"source":"/garden/genesis","target":"/garden/ai-agent","text":"AI Agent"}],"/garden/git":[{"source":"/garden/git","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/git","target":"/garden/github","text":"GitHub"},{"source":"/garden/git","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/git","target":"/garden/git-lfs","text":"git lfs"},{"source":"/garden/git","target":"/garden/github","text":"GitHub"},{"source":"/garden/git","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/git","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/git","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/git","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/git","target":"/garden/editorconfig","text":"EditorConfig"},{"source":"/garden/git","target":"/garden/git-lfs","text":"git lfs"},{"source":"/garden/git","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/git","target":"/garden/github","text":"GitHub"},{"source":"/garden/git","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/git","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/git","target":"/garden/git-lfs","text":"git lfs"},{"source":"/garden/git","target":"/garden/github","text":"GitHub"},{"source":"/garden/git","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/git","target":"/garden/tool","text":"Tools"}],"/garden/git-lfs":[{"source":"/garden/git-lfs","target":"/garden/git","text":"git"},{"source":"/garden/git-lfs","target":"/garden/github","text":"GitHub"},{"source":"/garden/git-lfs","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/git-lfs","target":"/garden/git","text":"git"},{"source":"/garden/git-lfs","target":"/garden/github","text":"GitHub"},{"source":"/garden/git-lfs","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/git-lfs","target":"/garden/git","text":"git"},{"source":"/garden/git-lfs","target":"/garden/tool","text":"Tools"}],"/garden/git-worktree":[{"source":"/garden/git-worktree","target":"/garden/git","text":"git"},{"source":"/garden/git-worktree","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/git-worktree","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/git-worktree","target":"/garden/git","text":"git"},{"source":"/garden/git-worktree","target":"/garden/technique","text":"Technique"}],"/garden/github":[{"source":"/garden/github","target":"/garden/platform","text":"Platform"},{"source":"/garden/github","target":"/garden/git","text":"git"},{"source":"/garden/github","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/github","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/github","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/github","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/github","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/github","target":"/garden/code-review","text":"Code Review"},{"source":"/garden/github","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/github","target":"/garden/git-lfs","text":"git lfs"},{"source":"/garden/github","target":"/garden/git","text":"git"},{"source":"/garden/github","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/github","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/github","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/github","target":"/garden/git","text":"git"},{"source":"/garden/github","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/github","target":"/garden/git-lfs","text":"git lfs"},{"source":"/garden/github","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/github","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/github","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/github","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/github","target":"/garden/git","text":"git"}],"/garden/github-actions":[{"source":"/garden/github-actions","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/github-actions","target":"/garden/github","text":"GitHub"},{"source":"/garden/github-actions","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/github-actions","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/github-actions","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/github-actions","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/github-actions","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/github-actions","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/github-actions","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/github-actions","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/github-actions","target":"/garden/codacy","text":"Codacy"},{"source":"/garden/github-actions","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/github-actions","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/github-actions","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/github-actions","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/github-actions","target":"/garden/tool","text":"Tools"}],"/garden/github-next-repo-visualization":[{"source":"/garden/github-next-repo-visualization","target":"/garden/diagramming","text":"Diagramming"},{"source":"/garden/github-next-repo-visualization","target":"/garden/draw-io","text":"Draw.io"},{"source":"/garden/github-next-repo-visualization","target":"/garden/tool","text":"Tools"}],"/garden/gitlab":[{"source":"/garden/gitlab","target":"/garden/platform","text":"Platform"},{"source":"/garden/gitlab","target":"/garden/git","text":"git"},{"source":"/garden/gitlab","target":"/garden/github","text":"GitHub"},{"source":"/garden/gitlab","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/gitlab","target":"/garden/github","text":"GitHub"},{"source":"/garden/gitlab","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/gitlab","target":"/garden/git","text":"git"},{"source":"/garden/gitlab","target":"/garden/github","text":"GitHub"},{"source":"/garden/gitlab","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/gitlab","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/gitlab","target":"/garden/git","text":"git"},{"source":"/garden/gitlab","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/gitlab","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/gitlab","target":"/garden/git-lfs","text":"git lfs"},{"source":"/garden/gitlab","target":"/garden/git","text":"git"},{"source":"/garden/gitlab","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/gitlab","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/gitlab","target":"/garden/github","text":"GitHub"}],"/garden/gitops":[{"source":"/garden/gitops","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/gitops","target":"/garden/technique","text":"Technique"}],"/garden/go":[{"source":"/garden/go","target":"/garden/code","text":"Code"},{"source":"/garden/go","target":"/garden/language","text":"Language"}],"/garden/go-script":[{"source":"/garden/go-script","target":"/garden/go","text":"GoLang"},{"source":"/garden/go-script","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/go-script","target":"/garden/git","text":"git"},{"source":"/garden/go-script","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/go-script","target":"/garden/technique","text":"Technique"}],"/garden/go-template":[{"source":"/garden/go-template","target":"/garden/helm","text":"Helm"},{"source":"/garden/go-template","target":"/garden/code","text":"Code"},{"source":"/garden/go-template","target":"/garden/language","text":"Language"}],"/garden/gocd":[{"source":"/garden/gocd","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/gocd","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/gocd","target":"/garden/platform","text":"Platform"},{"source":"/garden/gocd","target":"/garden/ci-cd-tools","text":"CI-CD Tools"}],"/garden/goodcheck":[{"source":"/garden/goodcheck","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/goodcheck","target":"/garden/tool","text":"Tools"},{"source":"/garden/goodcheck","target":"/garden/code-scanner","text":"Code Scanner"}],"/garden/graphql":[{"source":"/garden/graphql","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/graphql","target":"/garden/technique","text":"Technique"},{"source":"/garden/graphql","target":"/garden/api","text":"API"}],"/garden/grpc":[{"source":"/garden/grpc","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/grpc","target":"/garden/technique","text":"Technique"},{"source":"/garden/grpc","target":"/garden/api","text":"API"}],"/garden/harness-io":[{"source":"/garden/harness-io","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/harness-io","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/harness-io","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/harness-io","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/harness-io","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/harness-io","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/harness-io","target":"/garden/platform","text":"Platform"},{"source":"/garden/harness-io","target":"/garden/ci-cd-tools","text":"CI-CD Tools"}],"/garden/hcl":[{"source":"/garden/hcl","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/hcl","target":"/garden/nomad","text":"Nomad"},{"source":"/garden/hcl","target":"/garden/yaml","text":"YAML"},{"source":"/garden/hcl","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/hcl","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/hcl","target":"/garden/docker-compose","text":"Docker Compose"},{"source":"/garden/hcl","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/hcl","target":"/garden/go","text":"GoLang"},{"source":"/garden/hcl","target":"/garden/yaml","text":"YAML"},{"source":"/garden/hcl","target":"/garden/helm","text":"Helm"},{"source":"/garden/hcl","target":"/garden/yamlscript","text":"YAMLScript"},{"source":"/garden/hcl","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/hcl","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/hcl","target":"/garden/yaml","text":"YAML"},{"source":"/garden/hcl","target":"/garden/yaml","text":"YAML"},{"source":"/garden/hcl","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/hcl","target":"/garden/cel","text":"CEL"},{"source":"/garden/hcl","target":"/garden/code","text":"Code"},{"source":"/garden/hcl","target":"/garden/language","text":"Language"}],"/garden/helm":[{"source":"/garden/helm","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/helm","target":"/garden/tool","text":"Tools"}],"/garden/helm-chart":[{"source":"/garden/helm-chart","target":"/garden/helm","text":"Helm"},{"source":"/garden/helm-chart","target":"/garden/go-template","text":"Go Template"},{"source":"/garden/helm-chart","target":"/garden/docker","text":"Docker"},{"source":"/garden/helm-chart","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/helm-chart","target":"/garden/kustomize","text":"Kustomize"},{"source":"/garden/helm-chart","target":"/garden/code","text":"Code"},{"source":"/garden/helm-chart","target":"/garden/language","text":"Language"}],"/garden/helm-unittest":[{"source":"/garden/helm-unittest","target":"/garden/helm-chart","text":"Helm Chart"},{"source":"/garden/helm-unittest","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/helm-unittest","target":"/garden/helm-chart","text":"Helm Chart"},{"source":"/garden/helm-unittest","target":"/garden/code","text":"Code"},{"source":"/garden/helm-unittest","target":"/garden/test-framework","text":"Test Framework"}],"/garden/hermes-agent":[{"source":"/garden/hermes-agent","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/hermes-agent","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/hermes-agent","target":"/garden/ollama","text":"Ollama"},{"source":"/garden/hermes-agent","target":"/garden/ide","text":"IDE"},{"source":"/garden/hermes-agent","target":"/garden/openclaw","text":"OpenClaw"},{"source":"/garden/hermes-agent","target":"/garden/agent-client-protocol","text":"Agent Client Protocol"},{"source":"/garden/hermes-agent","target":"/garden/ollama","text":"Ollama"},{"source":"/garden/hermes-agent","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/hermes-agent","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/hermes-agent","target":"/garden/ide","text":"IDE"},{"source":"/garden/hermes-agent","target":"/garden/ollama","text":"Ollama"},{"source":"/garden/hermes-agent","target":"/garden/tool","text":"Tools"}],"/garden/hybrid-cloud":[{"source":"/garden/hybrid-cloud","target":"/garden/cloud-lift-and-shift","text":"Cloud Lift and Shift"},{"source":"/garden/hybrid-cloud","target":"/garden/technique","text":"Technique"}],"/garden/ide":[{"source":"/garden/ide","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/ide","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/ide","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/ide","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/ide","target":"/garden/agent-client-protocol","text":"Agent Client Protocol"},{"source":"/garden/ide","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/ide","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/ide","target":"/garden/tool","text":"Tools"}],"/garden/imperative-iac":[{"source":"/garden/imperative-iac","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/imperative-iac","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/imperative-iac","target":"/garden/technique","text":"Technique"}],"/garden/inbox-pattern":[{"source":"/garden/inbox-pattern","target":"/garden/workflow","text":"workflow"},{"source":"/garden/inbox-pattern","target":"/garden/technique","text":"Technique"}],"/garden/incident-management":[{"source":"/garden/incident-management","target":"/garden/sre","text":"SRE"},{"source":"/garden/incident-management","target":"/garden/devops","text":"DevOps"},{"source":"/garden/incident-management","target":"/garden/opentelemetry","text":"OpenTelemetry"},{"source":"/garden/incident-management","target":"/garden/technique","text":"Technique"}],"/garden/jenkins":[{"source":"/garden/jenkins","target":"/garden/cattle-not-pets","text":"Cattle not pets"},{"source":"/garden/jenkins","target":"/garden/devops","text":"DevOps"},{"source":"/garden/jenkins","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/jenkins","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/jenkins","target":"/garden/aws","text":"AWS"},{"source":"/garden/jenkins","target":"/garden/azure","text":"Azure"},{"source":"/garden/jenkins","target":"/garden/platform","text":"Platform"}],"/garden/jenkins-x":[{"source":"/garden/jenkins-x","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/jenkins-x","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/jenkins-x","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/jenkins-x","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/jenkins-x","target":"/garden/platform","text":"Platform"}],"/garden/jq":[{"source":"/garden/jq","target":"/garden/tool","text":"Tools"}],"/garden/json":[{"source":"/garden/json","target":"/garden/protobuf","text":"Protobuf"},{"source":"/garden/json","target":"/garden/yaml","text":"YAML"},{"source":"/garden/json","target":"/garden/protobuf","text":"Protobuf"},{"source":"/garden/json","target":"/garden/json-schema","text":"JSON Schema"},{"source":"/garden/json","target":"/garden/code","text":"Code"},{"source":"/garden/json","target":"/garden/language","text":"Language"}],"/garden/json-schema":[{"source":"/garden/json-schema","target":"/garden/json","text":"JSON"},{"source":"/garden/json-schema","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/json-schema","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/json-schema","target":"/garden/code","text":"Code"},{"source":"/garden/json-schema","target":"/garden/language","text":"Language"}],"/garden/k9s":[{"source":"/garden/k9s","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/k9s","target":"/garden/tool","text":"Tools"}],"/garden/kilo-ai":[{"source":"/garden/kilo-ai","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/kilo-ai","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/kilo-ai","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/kilo-ai","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/kilo-ai","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/kilo-ai","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/kilo-ai","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/kilo-ai","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/kilo-ai","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/kilo-ai","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/kilo-ai","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/kilo-ai","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/kilo-ai","target":"/garden/codex","text":"Codex"},{"source":"/garden/kilo-ai","target":"/garden/gemini","text":"Gemini"},{"source":"/garden/kilo-ai","target":"/garden/tool","text":"Tools"}],"/garden/kube-bench":[{"source":"/garden/kube-bench","target":"/garden/kubescape","text":"Kubescape"},{"source":"/garden/kube-bench","target":"/garden/kubescape","text":"Kubescape"},{"source":"/garden/kube-bench","target":"/garden/tool","text":"Tools"},{"source":"/garden/kube-bench","target":"/garden/code-scanner","text":"Code Scanner"}],"/garden/kubernetes":[{"source":"/garden/kubernetes","target":"/garden/platform","text":"Platform"},{"source":"/garden/kubernetes","target":"/garden/orchestrator","text":"Orchestrator"}],"/garden/kubescape":[{"source":"/garden/kubescape","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/kubescape","target":"/garden/tool","text":"Tools"},{"source":"/garden/kubescape","target":"/garden/code-scanner","text":"Code Scanner"}],"/garden/kustomize":[{"source":"/garden/kustomize","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/kustomize","target":"/garden/helm","text":"Helm"},{"source":"/garden/kustomize","target":"/garden/helm","text":"Helm"},{"source":"/garden/kustomize","target":"/garden/helm","text":"Helm"},{"source":"/garden/kustomize","target":"/garden/tool","text":"Tools"}],"/garden/language":[{"source":"/garden/language","target":"/garden/code","text":"Code"},{"source":"/garden/language","target":"/garden/yaml","text":"YAML"},{"source":"/garden/language","target":"/garden/json","text":"JSON"},{"source":"/garden/language","target":"/garden/hcl","text":"HCL"},{"source":"/garden/language","target":"/garden/cel","text":"CEL"},{"source":"/garden/language","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/language","target":"/garden/protobuf","text":"Protobuf"},{"source":"/garden/language","target":"/garden/go","text":"GoLang"},{"source":"/garden/language","target":"/garden/ruby","text":"Ruby"},{"source":"/garden/language","target":"/garden/library","text":"Library"},{"source":"/garden/language","target":"/garden/framework","text":"Framework"}],"/garden/library":[{"source":"/garden/library","target":"/garden/code","text":"Code"},{"source":"/garden/library","target":"/garden/framework","text":"Framework"},{"source":"/garden/library","target":"/garden/language","text":"Language"},{"source":"/garden/library","target":"/garden/yaml","text":"YAML"},{"source":"/garden/library","target":"/garden/framework","text":"Framework"},{"source":"/garden/library","target":"/garden/zap","text":"Zap"},{"source":"/garden/library","target":"/garden/go","text":"GoLang"},{"source":"/garden/library","target":"/garden/tree-sitter","text":"tree-sitter"}],"/garden/meercode":[{"source":"/garden/meercode","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/meercode","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/meercode","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/meercode","target":"/garden/tool","text":"Tools"},{"source":"/garden/meercode","target":"/garden/ci-cd-tools","text":"CI-CD Tools"}],"/garden/nomad":[{"source":"/garden/nomad","target":"/garden/platform","text":"Platform"},{"source":"/garden/nomad","target":"/garden/orchestrator","text":"Orchestrator"},{"source":"/garden/nomad","target":"/garden/kubernetes","text":"Kubernetes"}],"/garden/octopus-deploy":[{"source":"/garden/octopus-deploy","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/octopus-deploy","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/octopus-deploy","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/octopus-deploy","target":"/garden/platform","text":"Platform"},{"source":"/garden/octopus-deploy","target":"/garden/ci-cd-tools","text":"CI-CD Tools"}],"/garden/ollama":[{"source":"/garden/ollama","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/ollama","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/ollama","target":"/garden/platform","text":"Platform"}],"/garden/openapi":[{"source":"/garden/openapi","target":"/garden/grpc","text":"gRPC"},{"source":"/garden/openapi","target":"/garden/graphql","text":"GraphQL"},{"source":"/garden/openapi","target":"/garden/code","text":"Code"},{"source":"/garden/openapi","target":"/garden/language","text":"Language"}],"/garden/openclaw":[{"source":"/garden/openclaw","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/openclaw","target":"/garden/ide","text":"IDE"},{"source":"/garden/openclaw","target":"/garden/ollama","text":"Ollama"},{"source":"/garden/openclaw","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/openclaw","target":"/garden/ide","text":"IDE"},{"source":"/garden/openclaw","target":"/garden/tool","text":"Tools"}],"/garden/opencode":[{"source":"/garden/opencode","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/opencode","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/opencode","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/opencode","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/opencode","target":"/garden/codex","text":"Codex"},{"source":"/garden/opencode","target":"/garden/gemini","text":"Gemini"},{"source":"/garden/opencode","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/opencode","target":"/garden/openclaw","text":"OpenClaw"},{"source":"/garden/opencode","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/opencode","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/opencode","target":"/garden/codex","text":"Codex"},{"source":"/garden/opencode","target":"/garden/gemini","text":"Gemini"},{"source":"/garden/opencode","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/opencode","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/opencode","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/opencode","target":"/garden/tool","text":"Tools"}],"/garden/opentelemetry":[{"source":"/garden/opentelemetry","target":"/garden/incident-management","text":"Incident Management"},{"source":"/garden/opentelemetry","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/opentelemetry","target":"/garden/go","text":"GoLang"},{"source":"/garden/opentelemetry","target":"/garden/code","text":"Code"},{"source":"/garden/opentelemetry","target":"/garden/library","text":"Library"}],"/garden/orchestrator":[{"source":"/garden/orchestrator","target":"/garden/platform","text":"Platform"}],"/garden/planning-poker":[{"source":"/garden/planning-poker","target":"/garden/scrum","text":"Scrum"},{"source":"/garden/planning-poker","target":"/garden/3-point-estimate","text":"3 Point Estimate"},{"source":"/garden/planning-poker","target":"/garden/technique","text":"Technique"}],"/garden/platform":[{"source":"/garden/platform","target":"/garden/cloud","text":"Cloud"},{"source":"/garden/platform","target":"/garden/orchestrator","text":"Orchestrator"}],"/garden/policy-as-code":[{"source":"/garden/policy-as-code","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/policy-as-code","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/policy-as-code","target":"/garden/helm","text":"Helm"},{"source":"/garden/policy-as-code","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/policy-as-code","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/policy-as-code","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/policy-as-code","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/policy-as-code","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/policy-as-code","target":"/garden/technique","text":"Technique"}],"/garden/protobuf":[{"source":"/garden/protobuf","target":"/garden/json","text":"JSON"},{"source":"/garden/protobuf","target":"/garden/grpc","text":"gRPC"},{"source":"/garden/protobuf","target":"/garden/grpc","text":"gRPC"},{"source":"/garden/protobuf","target":"/garden/json","text":"JSON"},{"source":"/garden/protobuf","target":"/garden/grpc","text":"gRPC"},{"source":"/garden/protobuf","target":"/garden/code","text":"Code"},{"source":"/garden/protobuf","target":"/garden/language","text":"Language"}],"/garden/pulumi":[{"source":"/garden/pulumi","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/pulumi","target":"/garden/tool","text":"Tools"}],"/garden/python":[{"source":"/garden/python","target":"/garden/ansible","text":"Ansible"},{"source":"/garden/python","target":"/garden/ansible","text":"Ansible"},{"source":"/garden/python","target":"/garden/go","text":"GoLang"},{"source":"/garden/python","target":"/garden/ruby","text":"Ruby"},{"source":"/garden/python","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/python","target":"/garden/cdks","text":"CDKs"},{"source":"/garden/python","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/python","target":"/garden/ansible","text":"Ansible"},{"source":"/garden/python","target":"/garden/go","text":"GoLang"},{"source":"/garden/python","target":"/garden/code","text":"Code"},{"source":"/garden/python","target":"/garden/language","text":"Language"}],"/garden/replicated":[{"source":"/garden/replicated","target":"/garden/platform","text":"Platform"},{"source":"/garden/replicated","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/replicated","target":"/garden/tool","text":"Tools"}],"/garden/rest":[{"source":"/garden/rest","target":"/garden/technique","text":"Technique"},{"source":"/garden/rest","target":"/garden/api","text":"API"}],"/garden/ruby":[{"source":"/garden/ruby","target":"/garden/ruby-on-rails","text":"Ruby on Rails"},{"source":"/garden/ruby","target":"/garden/go","text":"GoLang"},{"source":"/garden/ruby","target":"/garden/python","text":"Python"},{"source":"/garden/ruby","target":"/garden/ruby-on-rails","text":"Ruby on Rails"},{"source":"/garden/ruby","target":"/garden/capistrano","text":"Capistrano"},{"source":"/garden/ruby","target":"/garden/ruby-on-rails","text":"Ruby on Rails"},{"source":"/garden/ruby","target":"/garden/python","text":"Python"},{"source":"/garden/ruby","target":"/garden/go","text":"GoLang"},{"source":"/garden/ruby","target":"/garden/code","text":"Code"},{"source":"/garden/ruby","target":"/garden/language","text":"Language"}],"/garden/ruby-on-rails":[{"source":"/garden/ruby-on-rails","target":"/garden/ruby","text":"Ruby"},{"source":"/garden/ruby-on-rails","target":"/garden/capistrano","text":"Capistrano"},{"source":"/garden/ruby-on-rails","target":"/garden/ruby","text":"Ruby"},{"source":"/garden/ruby-on-rails","target":"/garden/code","text":"Code"},{"source":"/garden/ruby-on-rails","target":"/garden/framework","text":"Framework"}],"/garden/sarif":[{"source":"/garden/sarif","target":"/garden/code-scanner","text":"Code Scanner"},{"source":"/garden/sarif","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/sarif","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/sarif","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/sarif","target":"/garden/technique","text":"Technique"}],"/garden/scrum":[{"source":"/garden/scrum","target":"/garden/agile-software-development","text":"Agile Software Development"},{"source":"/garden/scrum","target":"/garden/technique","text":"Technique"}],"/garden/shell-operator":[{"source":"/garden/shell-operator","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/shell-operator","target":"/garden/opentelemetry","text":"OpenTelemetry"},{"source":"/garden/shell-operator","target":"/garden/tool","text":"Tools"}],"/garden/shift-left":[{"source":"/garden/shift-left","target":"/garden/technique","text":"Technique"},{"source":"/garden/shift-left","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/shift-left","target":"/garden/pulumi","text":"Pulumi"}],"/garden/shiftleft":[{"source":"/garden/shiftleft","target":"/garden/technique","text":"Technique"},{"source":"/garden/shiftleft","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/shiftleft","target":"/garden/pulumi","text":"Pulumi"}],"/garden/single-responsibility-principle":[{"source":"/garden/single-responsibility-principle","target":"/garden/technique","text":"Technique"}],"/garden/single-sign-on":[{"source":"/garden/single-sign-on","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/single-sign-on","target":"/garden/enterprise-ready","text":"Enterprise Ready"},{"source":"/garden/single-sign-on","target":"/garden/enterprise-ready","text":"Enterprise Ready"},{"source":"/garden/single-sign-on","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/single-sign-on","target":"/garden/boundary-hashicorp","text":"Boundary (Hashicorp)"},{"source":"/garden/single-sign-on","target":"/garden/auth0","text":"Auth0"},{"source":"/garden/single-sign-on","target":"/garden/frontegg","text":"FrontEgg"},{"source":"/garden/single-sign-on","target":"/garden/access-on-demand","text":"Access on Demand"},{"source":"/garden/single-sign-on","target":"/garden/technique","text":"Technique"}],"/garden/skaffold":[{"source":"/garden/skaffold","target":"/garden/docker-compose","text":"Docker Compose"},{"source":"/garden/skaffold","target":"/garden/docker","text":"Docker"},{"source":"/garden/skaffold","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/skaffold","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/skaffold","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/skaffold","target":"/garden/tool","text":"Tools"}],"/garden/slack":[{"source":"/garden/slack","target":"/garden/chatops","text":"ChatOps"},{"source":"/garden/slack","target":"/garden/chatops","text":"ChatOps"},{"source":"/garden/slack","target":"/garden/incident-management","text":"Incident Management"},{"source":"/garden/slack","target":"/garden/openclaw","text":"OpenClaw"},{"source":"/garden/slack","target":"/garden/platform","text":"Platform"}],"/garden/slas":[{"source":"/garden/slas","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/slas","target":"/garden/enterprise-ready","text":"Enterprise Ready"},{"source":"/garden/slas","target":"/garden/devops","text":"DevOps"},{"source":"/garden/slas","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/slas","target":"/garden/sre","text":"SRE"},{"source":"/garden/slas","target":"/garden/technique","text":"Technique"}],"/garden/software-as-a-service":[{"source":"/garden/software-as-a-service","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/software-as-a-service","target":"/garden/feature-flags","text":"Feature Flags"},{"source":"/garden/software-as-a-service","target":"/garden/12-factor-app","text":"12 Factor App"},{"source":"/garden/software-as-a-service","target":"/garden/cattle-not-pets","text":"Cattle Not Pets"},{"source":"/garden/software-as-a-service","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/software-as-a-service","target":"/garden/auth0","text":"Auth0"},{"source":"/garden/software-as-a-service","target":"/garden/frontegg","text":"FrontEgg"},{"source":"/garden/software-as-a-service","target":"/garden/opentelemetry","text":"OpenTelemetry"},{"source":"/garden/software-as-a-service","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/software-as-a-service","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/software-as-a-service","target":"/garden/technique","text":"Technique"}],"/garden/spinnaker":[{"source":"/garden/spinnaker","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/spinnaker","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/spinnaker","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/spinnaker","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/spinnaker","target":"/garden/platform","text":"Platform"},{"source":"/garden/spinnaker","target":"/garden/ci-cd-tools","text":"CI-CD Tools"}],"/garden/sre":[{"source":"/garden/sre","target":"/garden/devops","text":"DevOps"},{"source":"/garden/sre","target":"/garden/technique","text":"Technique"}],"/garden/system-initiative":[{"source":"/garden/system-initiative","target":"/garden/terraform","text":"terraform"},{"source":"/garden/system-initiative","target":"/garden/platform","text":"Platform"}],"/garden/tailscale":[{"source":"/garden/tailscale","target":"/garden/wireguard","text":"Wireguard"},{"source":"/garden/tailscale","target":"/garden/ztna","text":"ZTNA"},{"source":"/garden/tailscale","target":"/garden/platform","text":"Platform"}],"/garden/tailwind-css":[{"source":"/garden/tailwind-css","target":"/garden/tool","text":"Tools"}],"/garden/technique":[{"source":"/garden/technique","target":"/garden/agile-software-development","text":"Agile Software Development"},{"source":"/garden/technique","target":"/garden/ai-techniques","text":"AI Techniques"},{"source":"/garden/technique","target":"/garden/api","text":"API"},{"source":"/garden/technique","target":"/garden/artificial-intelligence-machine-learning","text":"Artificial Intelligence & Machine Learning"},{"source":"/garden/technique","target":"/garden/design-pattern","text":"Design Pattern"}],"/garden/terraform":[{"source":"/garden/terraform","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/terraform","target":"/garden/tool","text":"Tools"}],"/garden/test-framework":[{"source":"/garden/test-framework","target":"/garden/code","text":"Code"},{"source":"/garden/test-framework","target":"/garden/technique","text":"Technique"},{"source":"/garden/test-framework","target":"/garden/language","text":"Language"},{"source":"/garden/test-framework","target":"/garden/library","text":"Library"},{"source":"/garden/test-framework","target":"/garden/framework","text":"Framework"},{"source":"/garden/test-framework","target":"/garden/helm-unittest","text":"Helm Unittest"},{"source":"/garden/test-framework","target":"/garden/helm-chart","text":"Helm Chart"}],"/garden/test-pyramid":[{"source":"/garden/test-pyramid","target":"/garden/technique","text":"Technique"}],"/garden/testcontainers":[{"source":"/garden/testcontainers","target":"/garden/docker","text":"Docker"},{"source":"/garden/testcontainers","target":"/garden/container-structure-test","text":"Container Structure Test"},{"source":"/garden/testcontainers","target":"/garden/docker","text":"Docker"},{"source":"/garden/testcontainers","target":"/garden/code","text":"Code"},{"source":"/garden/testcontainers","target":"/garden/test-framework","text":"Test Framework"}],"/garden/tool":[{"source":"/garden/tool","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/tool","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/tool","target":"/garden/code-scanner","text":"Code Scanner"},{"source":"/garden/tool","target":"/garden/diagramming","text":"Diagramming"},{"source":"/garden/tool","target":"/garden/environment-managers","text":"Environment Managers"},{"source":"/garden/tool","target":"/garden/ide","text":"IDE"}],"/garden/travis-ci":[{"source":"/garden/travis-ci","target":"/garden/github","text":"GitHub"},{"source":"/garden/travis-ci","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/travis-ci","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/travis-ci","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/travis-ci","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/travis-ci","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/travis-ci","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/travis-ci","target":"/garden/tool","text":"Tools"},{"source":"/garden/travis-ci","target":"/garden/ci-cd-tools","text":"CI-CD Tools"}],"/garden/tree-sitter":[{"source":"/garden/tree-sitter","target":"/garden/tree-sitter-graph","text":"tree-sitter-graph"},{"source":"/garden/tree-sitter","target":"/garden/tree-sitter-graph","text":"tree-sitter-graph"},{"source":"/garden/tree-sitter","target":"/garden/code","text":"Code"},{"source":"/garden/tree-sitter","target":"/garden/library","text":"Library"},{"source":"/garden/tree-sitter","target":"/garden/tree-sitter-graph","text":"tree-sitter-graph"}],"/garden/tree-sitter-graph":[{"source":"/garden/tree-sitter-graph","target":"/garden/tree-sitter","text":"tree-sitter"},{"source":"/garden/tree-sitter-graph","target":"/garden/tree-sitter","text":"tree-sitter"},{"source":"/garden/tree-sitter-graph","target":"/garden/tree-sitter","text":"tree-sitter"},{"source":"/garden/tree-sitter-graph","target":"/garden/tree-sitter","text":"tree-sitter"},{"source":"/garden/tree-sitter-graph","target":"/garden/tree-sitter","text":"tree-sitter"},{"source":"/garden/tree-sitter-graph","target":"/garden/library","text":"Library"},{"source":"/garden/tree-sitter-graph","target":"/garden/code","text":"Code"}],"/garden/wireguard":[{"source":"/garden/wireguard","target":"/garden/tool","text":"Tools"}],"/garden/work-queue":[{"source":"/garden/work-queue","target":"/garden/inbox-pattern","text":"Inbox Pattern"},{"source":"/garden/work-queue","target":"/garden/technique","text":"Technique"}],"/garden/workflow":[{"source":"/garden/workflow","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/workflow","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/workflow","target":"/garden/technique","text":"Technique"}],"/garden/yaml":[{"source":"/garden/yaml","target":"/garden/json","text":"JSON"},{"source":"/garden/yaml","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/yaml","target":"/garden/docker-compose","text":"Docker Compose"},{"source":"/garden/yaml","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/yaml","target":"/garden/helm","text":"Helm"},{"source":"/garden/yaml","target":"/garden/json","text":"JSON"},{"source":"/garden/yaml","target":"/garden/json-schema","text":"JSON Schema"},{"source":"/garden/yaml","target":"/garden/yamlscript","text":"YAMLScript"},{"source":"/garden/yaml","target":"/garden/code","text":"Code"},{"source":"/garden/yaml","target":"/garden/language","text":"Language"}],"/garden/yamlscript":[{"source":"/garden/yamlscript","target":"/garden/helm","text":"Helm"},{"source":"/garden/yamlscript","target":"/garden/code","text":"Code"},{"source":"/garden/yamlscript","target":"/garden/language","text":"Language"}],"/garden/zanzibar":[{"source":"/garden/zanzibar","target":"/garden/technique","text":"Technique"}],"/garden/zap":[{"source":"/garden/zap","target":"/garden/go","text":"GoLang"},{"source":"/garden/zap","target":"/garden/code","text":"Code"},{"source":"/garden/zap","target":"/garden/library","text":"Library"}],"/garden/ztna":[{"source":"/garden/ztna","target":"/garden/tailscale","text":"Tailscale"},{"source":"/garden/ztna","target":"/garden/technique","text":"Technique"}],"/linkindex/index.json":[],"/resources/bash-tips-and-tricks":[],"/resources/container-tips-and-tricks":[],"/resources/git-tips-and-tricks":[],"/resources/golang-tips-and-tricks":[],"/resources/hyrums-law":[]}},"links":[{"source":"/blog/20260605-agent-skills","target":"/garden/agent-skills-framework","text":"Agent Skills Framework"},{"source":"/blog/20260605-agent-skills","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/git-worktree","target":"/garden/git","text":"git"},{"source":"/garden/git-worktree","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/git-worktree","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/git-worktree","target":"/garden/git","text":"git"},{"source":"/garden/git-worktree","target":"/garden/technique","text":"Technique"},{"source":"/garden/bitbucket-pipelines","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/bitbucket-pipelines","target":"/garden/github","text":"GitHub"},{"source":"/garden/bitbucket-pipelines","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/bitbucket-pipelines","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/bitbucket-pipelines","target":"/garden/platform","text":"Platform"},{"source":"/garden/bitbucket-pipelines","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/clutch","target":"/garden/platform","text":"Platform"},{"source":"/garden/codeship","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/codeship","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/codeship","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/codeship","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/codeship","target":"/garden/platform","text":"Platform"},{"source":"/garden/codeship","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/concourse-ci","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/concourse-ci","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/concourse-ci","target":"/garden/platform","text":"Platform"},{"source":"/garden/concourse-ci","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/dotfiles-in-version-control","target":"/garden/git","text":"git"},{"source":"/garden/dotfiles-in-version-control","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/dotfiles-in-version-control","target":"/garden/technique","text":"Technique"},{"source":"/garden/dumb-init-for-containers","target":"/garden/tool","text":"Tools"},{"source":"/garden/github-next-repo-visualization","target":"/garden/diagramming","text":"Diagramming"},{"source":"/garden/github-next-repo-visualization","target":"/garden/draw-io","text":"Draw.io"},{"source":"/garden/github-next-repo-visualization","target":"/garden/tool","text":"Tools"},{"source":"/garden/go-script","target":"/garden/go","text":"GoLang"},{"source":"/garden/go-script","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/go-script","target":"/garden/git","text":"git"},{"source":"/garden/go-script","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/go-script","target":"/garden/technique","text":"Technique"},{"source":"/garden/gocd","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/gocd","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/gocd","target":"/garden/platform","text":"Platform"},{"source":"/garden/gocd","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/goodcheck","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/goodcheck","target":"/garden/tool","text":"Tools"},{"source":"/garden/goodcheck","target":"/garden/code-scanner","text":"Code Scanner"},{"source":"/garden/harness-io","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/harness-io","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/harness-io","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/harness-io","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/harness-io","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/harness-io","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/harness-io","target":"/garden/platform","text":"Platform"},{"source":"/garden/harness-io","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/kube-bench","target":"/garden/kubescape","text":"Kubescape"},{"source":"/garden/kube-bench","target":"/garden/kubescape","text":"Kubescape"},{"source":"/garden/kube-bench","target":"/garden/tool","text":"Tools"},{"source":"/garden/kube-bench","target":"/garden/code-scanner","text":"Code Scanner"},{"source":"/garden/kubescape","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/kubescape","target":"/garden/tool","text":"Tools"},{"source":"/garden/kubescape","target":"/garden/code-scanner","text":"Code Scanner"},{"source":"/garden/meercode","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/meercode","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/meercode","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/meercode","target":"/garden/tool","text":"Tools"},{"source":"/garden/meercode","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/octopus-deploy","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/octopus-deploy","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/octopus-deploy","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/octopus-deploy","target":"/garden/platform","text":"Platform"},{"source":"/garden/octopus-deploy","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/sarif","target":"/garden/code-scanner","text":"Code Scanner"},{"source":"/garden/sarif","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/sarif","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/sarif","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/sarif","target":"/garden/technique","text":"Technique"},{"source":"/garden/shell-operator","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/shell-operator","target":"/garden/opentelemetry","text":"OpenTelemetry"},{"source":"/garden/shell-operator","target":"/garden/tool","text":"Tools"},{"source":"/garden/spinnaker","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/spinnaker","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/spinnaker","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/spinnaker","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/spinnaker","target":"/garden/platform","text":"Platform"},{"source":"/garden/spinnaker","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/tailwind-css","target":"/garden/tool","text":"Tools"},{"source":"/garden/travis-ci","target":"/garden/github","text":"GitHub"},{"source":"/garden/travis-ci","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/travis-ci","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/travis-ci","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/travis-ci","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/travis-ci","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/travis-ci","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/travis-ci","target":"/garden/tool","text":"Tools"},{"source":"/garden/travis-ci","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/cline","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/cline","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/cline","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/cline","target":"/garden/kilo-ai","text":"Kilo.ai"},{"source":"/garden/cline","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/cline","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/cline","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/cline","target":"/garden/kilo-ai","text":"Kilo.ai"},{"source":"/garden/cline","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/cline","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/cline","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/cline","target":"/garden/kilo-ai","text":"Kilo.ai"},{"source":"/garden/cline","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/cline","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/cline","target":"/garden/tool","text":"Tools"},{"source":"/garden/kilo-ai","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/kilo-ai","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/kilo-ai","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/kilo-ai","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/kilo-ai","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/kilo-ai","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/kilo-ai","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/kilo-ai","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/kilo-ai","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/kilo-ai","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/kilo-ai","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/kilo-ai","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/kilo-ai","target":"/garden/codex","text":"Codex"},{"source":"/garden/kilo-ai","target":"/garden/gemini","text":"Gemini"},{"source":"/garden/kilo-ai","target":"/garden/tool","text":"Tools"},{"source":"/garden/ai-techniques","target":"/garden/technique","text":"Technique"},{"source":"/garden/ai-techniques","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/ai-techniques","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/ai-techniques","target":"/garden/gbrain","text":"gbrain"},{"source":"/garden/ai-techniques","target":"/garden/agent-client-protocol","text":"Agent Client Protocol"},{"source":"/garden/ai-techniques","target":"/garden/artificial-intelligence-machine-learning","text":"Artificial Intelligence & Machine Learning"},{"source":"/garden/ai-techniques","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/ai-techniques","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/ai-techniques","target":"/garden/codex","text":"Codex"},{"source":"/garden/ai-techniques","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/ai-techniques","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/ai-techniques","target":"/garden/ide","text":"IDE"},{"source":"/garden/ai-techniques","target":"/garden/ollama","text":"Ollama"},{"source":"/garden/ai-techniques","target":"/garden/platform","text":"Platform"},{"source":"/garden/ai-techniques","target":"/garden/gbrain","text":"gbrain"},{"source":"/garden/ai-techniques","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/ai-techniques","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/ai-techniques","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/ai-techniques","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/apache-airflow","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/apache-airflow","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/apache-airflow","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/apache-airflow","target":"/garden/workflow","text":"Workflow"},{"source":"/garden/apache-airflow","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/apache-airflow","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/apache-airflow","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/apache-airflow","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/apache-airflow","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/apache-airflow","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/apache-airflow","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/apache-airflow","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/apache-airflow","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/apache-airflow","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/apache-airflow","target":"/garden/tool","text":"Tools"},{"source":"/garden/apache-airflow","target":"/garden/orchestrator","text":"Orchestrator"},{"source":"/garden/argo-workflows","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/argo-workflows","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/argo-workflows","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/argo-workflows","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/argo-workflows","target":"/garden/jenkins-x","text":"Jenkins X"},{"source":"/garden/argo-workflows","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/argo-workflows","target":"/garden/tool","text":"Tools"},{"source":"/garden/argo-workflows","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/claude-code","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/claude-code","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/claude-code","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/claude-code","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/claude-code","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/claude-code","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/claude-code","target":"/garden/openclaw","text":"OpenClaw"},{"source":"/garden/claude-code","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/claude-code","target":"/garden/codex","text":"Codex"},{"source":"/garden/claude-code","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/claude-code","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/claude-code","target":"/garden/openclaw","text":"OpenClaw"},{"source":"/garden/claude-code","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/claude-code","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/claude-code","target":"/garden/codex","text":"Codex"},{"source":"/garden/claude-code","target":"/garden/tool","text":"Tools"},{"source":"/garden/code-scanner","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/code-scanner","target":"/garden/technique","text":"Technique"},{"source":"/garden/code-scanner","target":"/garden/codacy","text":"Codacy"},{"source":"/garden/code-scanner","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/code-scanner","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/code-scanner","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/code-scanner","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/code-scanner","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/code-scanner","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/code-scanner","target":"/garden/codacy","text":"Codacy"},{"source":"/garden/code-scanner","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/code-scanner","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/code-scanner","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/code-scanner","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/code-scanner","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/code-scanner","target":"/garden/tool","text":"Tools"},{"source":"/garden/codex","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/codex","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/codex","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/codex","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/codex","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/codex","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/codex","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/codex","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/codex","target":"/garden/openclaw","text":"OpenClaw"},{"source":"/garden/codex","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/codex","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/codex","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/codex","target":"/garden/tool","text":"Tools"},{"source":"/garden/cursor","target":"/garden/ide","text":"IDE"},{"source":"/garden/cursor","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/cursor","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/cursor","target":"/garden/ide","text":"IDE"},{"source":"/garden/cursor","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/cursor","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/cursor","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/cursor","target":"/garden/ide","text":"IDE"},{"source":"/garden/cursor","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/cursor","target":"/garden/codex","text":"Codex"},{"source":"/garden/cursor","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/cursor","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/cursor","target":"/garden/tool","text":"Tools"},{"source":"/garden/cursor-agent","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/cursor-agent","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/cursor-agent","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/cursor-agent","target":"/garden/openclaw","text":"OpenClaw"},{"source":"/garden/cursor-agent","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/cursor-agent","target":"/garden/ide","text":"IDE"},{"source":"/garden/cursor-agent","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/cursor-agent","target":"/garden/codex","text":"Codex"},{"source":"/garden/cursor-agent","target":"/garden/gemini","text":"Gemini"},{"source":"/garden/cursor-agent","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/cursor-agent","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/cursor-agent","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/cursor-agent","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/cursor-agent","target":"/garden/ide","text":"IDE"},{"source":"/garden/cursor-agent","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/cursor-agent","target":"/garden/tool","text":"Tools"},{"source":"/garden/frontegg","target":"/garden/auth0","text":"Auth0"},{"source":"/garden/frontegg","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/frontegg","target":"/garden/auth0","text":"Auth0"},{"source":"/garden/frontegg","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/frontegg","target":"/garden/platform","text":"Platform"},{"source":"/garden/gemini","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/gemini","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/gemini","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/gemini","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/gemini","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/gemini","target":"/garden/codex","text":"Codex"},{"source":"/garden/gemini","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/gemini","target":"/garden/openclaw","text":"OpenClaw"},{"source":"/garden/gemini","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/gemini","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/gemini","target":"/garden/codex","text":"Codex"},{"source":"/garden/gemini","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/gemini","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/gemini","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/gemini","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/gemini","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/gemini","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/gemini","target":"/garden/codex","text":"Codex"},{"source":"/garden/gemini","target":"/garden/tool","text":"Tools"},{"source":"/garden/ide","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/ide","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/ide","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/ide","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/ide","target":"/garden/agent-client-protocol","text":"Agent Client Protocol"},{"source":"/garden/ide","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/ide","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/ide","target":"/garden/tool","text":"Tools"},{"source":"/garden/ollama","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/ollama","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/ollama","target":"/garden/platform","text":"Platform"},{"source":"/garden/openclaw","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/openclaw","target":"/garden/ide","text":"IDE"},{"source":"/garden/openclaw","target":"/garden/ollama","text":"Ollama"},{"source":"/garden/openclaw","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/openclaw","target":"/garden/ide","text":"IDE"},{"source":"/garden/openclaw","target":"/garden/tool","text":"Tools"},{"source":"/garden/opencode","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/opencode","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/opencode","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/opencode","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/opencode","target":"/garden/codex","text":"Codex"},{"source":"/garden/opencode","target":"/garden/gemini","text":"Gemini"},{"source":"/garden/opencode","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/opencode","target":"/garden/openclaw","text":"OpenClaw"},{"source":"/garden/opencode","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/opencode","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/opencode","target":"/garden/codex","text":"Codex"},{"source":"/garden/opencode","target":"/garden/gemini","text":"Gemini"},{"source":"/garden/opencode","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/opencode","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/opencode","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/opencode","target":"/garden/tool","text":"Tools"},{"source":"/garden/single-sign-on","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/single-sign-on","target":"/garden/enterprise-ready","text":"Enterprise Ready"},{"source":"/garden/single-sign-on","target":"/garden/enterprise-ready","text":"Enterprise Ready"},{"source":"/garden/single-sign-on","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/single-sign-on","target":"/garden/boundary-hashicorp","text":"Boundary (Hashicorp)"},{"source":"/garden/single-sign-on","target":"/garden/auth0","text":"Auth0"},{"source":"/garden/single-sign-on","target":"/garden/frontegg","text":"FrontEgg"},{"source":"/garden/single-sign-on","target":"/garden/access-on-demand","text":"Access on Demand"},{"source":"/garden/single-sign-on","target":"/garden/technique","text":"Technique"},{"source":"/garden/slack","target":"/garden/chatops","text":"ChatOps"},{"source":"/garden/slack","target":"/garden/chatops","text":"ChatOps"},{"source":"/garden/slack","target":"/garden/incident-management","text":"Incident Management"},{"source":"/garden/slack","target":"/garden/openclaw","text":"OpenClaw"},{"source":"/garden/slack","target":"/garden/platform","text":"Platform"},{"source":"/garden/slas","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/slas","target":"/garden/enterprise-ready","text":"Enterprise Ready"},{"source":"/garden/slas","target":"/garden/devops","text":"DevOps"},{"source":"/garden/slas","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/slas","target":"/garden/sre","text":"SRE"},{"source":"/garden/slas","target":"/garden/technique","text":"Technique"},{"source":"/garden/dagu","target":"/garden/platform","text":"Platform"},{"source":"/garden/dagu","target":"/garden/orchestrator","text":"Orchestrator"},{"source":"/garden/agent-skills-sources","target":"/garden/agent-skills-framework","text":"Agent Skills Framework"},{"source":"/garden/agent-skills-sources","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/agent-skills-sources","target":"/garden/gbrain","text":"gbrain"},{"source":"/garden/agent-skills-sources","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/agent-skills-sources","target":"/garden/gbrain","text":"gbrain"},{"source":"/garden/agent-skills-sources","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/agent-skills-sources","target":"/garden/technique","text":"Technique"},{"source":"/garden/agent-skills-sources","target":"/garden/ai-techniques","text":"AI Techniques"},{"source":"/garden/gbrain","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/gbrain","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/gbrain","target":"/garden/technique","text":"Technique"},{"source":"/garden/gbrain","target":"/garden/ai-techniques","text":"AI Techniques"},{"source":"/garden/feature-flags","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/feature-flags","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/feature-flags","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/feature-flags","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/feature-flags","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/feature-flags","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/feature-flags","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/feature-flags","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/feature-flags","target":"/garden/technique","text":"Technique"},{"source":"/garden/agent-client-protocol","target":"/garden/ide","text":"IDE"},{"source":"/garden/agent-client-protocol","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/agent-client-protocol","target":"/garden/platform","text":"Platform"},{"source":"/garden/agent-skills-framework","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/agent-skills-framework","target":"/garden/gemini","text":"Gemini"},{"source":"/garden/agent-skills-framework","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/agent-skills-framework","target":"/garden/codex","text":"Codex"},{"source":"/garden/agent-skills-framework","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/agent-skills-framework","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/agent-skills-framework","target":"/garden/gbrain","text":"gbrain"},{"source":"/garden/agent-skills-framework","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/agent-skills-framework","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/agent-skills-framework","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/agent-skills-framework","target":"/garden/gemini","text":"Gemini"},{"source":"/garden/agent-skills-framework","target":"/garden/codex","text":"Codex"},{"source":"/garden/agent-skills-framework","target":"/garden/cline","text":"Cline"},{"source":"/garden/agent-skills-framework","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/agent-skills-framework","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/agent-skills-framework","target":"/garden/technique","text":"Technique"},{"source":"/garden/agent-skills-framework","target":"/garden/ai-techniques","text":"AI Techniques"},{"source":"/garden/ai-agent","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/ai-agent","target":"/garden/agent-client-protocol","text":"Agent Client Protocol"},{"source":"/garden/ai-agent","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/ai-agent","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/ai-agent","target":"/garden/codex","text":"Codex"},{"source":"/garden/ai-agent","target":"/garden/gemini","text":"Gemini"},{"source":"/garden/ai-agent","target":"/garden/opencode","text":"OpenCode"},{"source":"/garden/ai-agent","target":"/garden/ollama","text":"Ollama"},{"source":"/garden/ai-agent","target":"/garden/platform","text":"Platform"},{"source":"/garden/ai-agent","target":"/garden/ide","text":"IDE"},{"source":"/garden/ai-agent","target":"/garden/artificial-intelligence-machine-learning","text":"Artificial Intelligence & Machine Learning"},{"source":"/garden/ai-agent","target":"/garden/openclaw","text":"OpenClaw"},{"source":"/garden/ai-agent","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/ai-agent","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/ai-agent","target":"/garden/tool","text":"Tools"},{"source":"/garden/hermes-agent","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/hermes-agent","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/hermes-agent","target":"/garden/ollama","text":"Ollama"},{"source":"/garden/hermes-agent","target":"/garden/ide","text":"IDE"},{"source":"/garden/hermes-agent","target":"/garden/openclaw","text":"OpenClaw"},{"source":"/garden/hermes-agent","target":"/garden/agent-client-protocol","text":"Agent Client Protocol"},{"source":"/garden/hermes-agent","target":"/garden/ollama","text":"Ollama"},{"source":"/garden/hermes-agent","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/hermes-agent","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/hermes-agent","target":"/garden/ide","text":"IDE"},{"source":"/garden/hermes-agent","target":"/garden/ollama","text":"Ollama"},{"source":"/garden/hermes-agent","target":"/garden/tool","text":"Tools"},{"source":"/garden/declarative-programming","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/declarative-programming","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/declarative-programming","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/declarative-programming","target":"/garden/helm-chart","text":"Helm Chart"},{"source":"/garden/declarative-programming","target":"/garden/hcl","text":"HCL"},{"source":"/garden/declarative-programming","target":"/garden/yaml","text":"YAML"},{"source":"/garden/declarative-programming","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/declarative-programming","target":"/garden/cdks","text":"CDKs"},{"source":"/garden/declarative-programming","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/declarative-programming","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/declarative-programming","target":"/garden/technique","text":"Technique"},{"source":"/garden/declarative-programming","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/declarative-programming","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/design-pattern","target":"/garden/technique","text":"Technique"},{"source":"/garden/design-pattern","target":"/garden/platform","text":"Platform"},{"source":"/garden/design-pattern","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/design-pattern","target":"/garden/framework","text":"Framework"},{"source":"/garden/design-pattern","target":"/garden/ai-techniques","text":"AI Techniques"},{"source":"/garden/design-pattern","target":"/garden/technique","text":"Technique"},{"source":"/garden/design-pattern","target":"/garden/code-review","text":"Code Review"},{"source":"/garden/design-pattern","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/design-pattern","target":"/garden/technique","text":"Technique"},{"source":"/garden/design-pattern","target":"/garden/design-pattern","text":"Design Pattern"},{"source":"/garden/genesis","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/genesis","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/genesis","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/genesis","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/genesis","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/genesis","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/genesis","target":"/garden/agent-skills-sources","text":"Agent Skills - Sources"},{"source":"/garden/genesis","target":"/garden/tool","text":"Tools"},{"source":"/garden/genesis","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/tree-sitter","target":"/garden/tree-sitter-graph","text":"tree-sitter-graph"},{"source":"/garden/tree-sitter","target":"/garden/tree-sitter-graph","text":"tree-sitter-graph"},{"source":"/garden/tree-sitter","target":"/garden/code","text":"Code"},{"source":"/garden/tree-sitter","target":"/garden/library","text":"Library"},{"source":"/garden/tree-sitter","target":"/garden/tree-sitter-graph","text":"tree-sitter-graph"},{"source":"/garden/tree-sitter-graph","target":"/garden/tree-sitter","text":"tree-sitter"},{"source":"/garden/tree-sitter-graph","target":"/garden/tree-sitter","text":"tree-sitter"},{"source":"/garden/tree-sitter-graph","target":"/garden/tree-sitter","text":"tree-sitter"},{"source":"/garden/tree-sitter-graph","target":"/garden/tree-sitter","text":"tree-sitter"},{"source":"/garden/tree-sitter-graph","target":"/garden/tree-sitter","text":"tree-sitter"},{"source":"/garden/tree-sitter-graph","target":"/garden/library","text":"Library"},{"source":"/garden/tree-sitter-graph","target":"/garden/code","text":"Code"},{"source":"/garden/dbt-core","target":"/garden/apache-airflow","text":"Apache Airflow"},{"source":"/garden/dbt-core","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/dbt-core","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/dbt-core","target":"/garden/apache-airflow","text":"Apache Airflow"},{"source":"/garden/dbt-core","target":"/garden/apache-airflow","text":"Apache Airflow"},{"source":"/garden/dbt-core","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/dbt-core","target":"/garden/tool","text":"Tools"},{"source":"/garden/continuous-delivery","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/continuous-delivery","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/continuous-delivery","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/continuous-delivery","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/continuous-delivery","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/continuous-delivery","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/continuous-delivery","target":"/garden/feature-flags","text":"Feature Flags"},{"source":"/garden/continuous-delivery","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/continuous-delivery","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/continuous-delivery","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/continuous-delivery","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/continuous-delivery","target":"/garden/capistrano","text":"Capistrano"},{"source":"/garden/continuous-delivery","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/continuous-delivery","target":"/garden/technique","text":"Technique"},{"source":"/garden/continuous-deployment","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/continuous-deployment","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/continuous-deployment","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/continuous-deployment","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/continuous-deployment","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/continuous-deployment","target":"/garden/feature-flags","text":"Feature Flags"},{"source":"/garden/continuous-deployment","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/continuous-deployment","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/continuous-deployment","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/continuous-deployment","target":"/garden/12-factor-app","text":"12 Factor App"},{"source":"/garden/continuous-deployment","target":"/garden/capistrano","text":"Capistrano"},{"source":"/garden/continuous-deployment","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/continuous-deployment","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/continuous-deployment","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/continuous-deployment","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/continuous-deployment","target":"/garden/technique","text":"Technique"},{"source":"/garden/environment-managers","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/environment-managers","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/environment-managers","target":"/garden/direnv","text":"direnv"},{"source":"/garden/environment-managers","target":"/garden/direnv","text":"direnv"},{"source":"/garden/environment-managers","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/environment-managers","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/environment-managers","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/environment-managers","target":"/garden/12-factor-app","text":"12 Factor App"},{"source":"/garden/environment-managers","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/environment-managers","target":"/garden/direnv","text":"direnv"},{"source":"/garden/environment-managers","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/environment-managers","target":"/garden/environment-managers","text":"Environment Managers"},{"source":"/garden/environment-managers","target":"/garden/tool","text":"Tools"},{"source":"/garden/cloud","target":"/garden/platform","text":"Platform"},{"source":"/garden/cloud","target":"/garden/aws","text":"AWS"},{"source":"/garden/cloud","target":"/garden/azure","text":"Azure"},{"source":"/garden/cloud","target":"/garden/aws-eks","text":"AWS EKS"},{"source":"/garden/cloud","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/cloud","target":"/garden/hybrid-cloud","text":"Hybrid Cloud"},{"source":"/garden/cloud","target":"/garden/cloud-lift-and-shift","text":"Cloud Lift and Shift"},{"source":"/garden/cloud","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/cloud","target":"/garden/aws","text":"AWS"},{"source":"/garden/cloud","target":"/garden/azure","text":"Azure"},{"source":"/garden/cloud","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/cloud","target":"/garden/aws-eks","text":"AWS EKS"},{"source":"/garden/cloud","target":"/garden/hybrid-cloud","text":"Hybrid Cloud"},{"source":"/garden/cloud","target":"/garden/cattle-not-pets","text":"Cattle Not Pets"},{"source":"/garden/cloud","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/cloud","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/cloud","target":"/garden/tailscale","text":"Tailscale"},{"source":"/garden/first-touch-provisioning","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/first-touch-provisioning","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/first-touch-provisioning","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/first-touch-provisioning","target":"/garden/ansible","text":"Ansible"},{"source":"/garden/first-touch-provisioning","target":"/garden/helm","text":"Helm"},{"source":"/garden/first-touch-provisioning","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/first-touch-provisioning","target":"/garden/cattle-not-pets","text":"Cattle Not Pets"},{"source":"/garden/first-touch-provisioning","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/first-touch-provisioning","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/first-touch-provisioning","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/first-touch-provisioning","target":"/garden/dry","text":"DRY"},{"source":"/garden/first-touch-provisioning","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/first-touch-provisioning","target":"/garden/cloud","text":"Cloud"},{"source":"/garden/first-touch-provisioning","target":"/garden/technique","text":"Technique"},{"source":"/garden/diagramming","target":"/garden/draw-io","text":"Draw.io"},{"source":"/garden/diagramming","target":"/garden/asciiflow","text":"AsciiFlow"},{"source":"/garden/diagramming","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/diagramming","target":"/garden/gbrain","text":"gbrain"},{"source":"/garden/diagramming","target":"/garden/draw-io","text":"Draw.io"},{"source":"/garden/diagramming","target":"/garden/asciiflow","text":"AsciiFlow"},{"source":"/garden/diagramming","target":"/garden/diagramming","text":"Diagramming"},{"source":"/garden/diagramming","target":"/garden/tool","text":"Tools"},{"source":"/garden/continuous-integration","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/continuous-integration","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/continuous-integration","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/continuous-integration","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/continuous-integration","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/continuous-integration","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/continuous-integration","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/continuous-integration","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/continuous-integration","target":"/garden/code-review","text":"Code Review"},{"source":"/garden/continuous-integration","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/continuous-integration","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/continuous-integration","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/continuous-integration","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/continuous-integration","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/continuous-integration","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/continuous-integration","target":"/garden/technique","text":"Technique"},{"source":"/garden/framework","target":"/garden/code","text":"Code"},{"source":"/garden/framework","target":"/garden/library","text":"Library"},{"source":"/garden/framework","target":"/garden/ruby-on-rails","text":"Ruby on Rails"},{"source":"/garden/framework","target":"/garden/library","text":"Library"},{"source":"/garden/framework","target":"/garden/opentelemetry","text":"OpenTelemetry"},{"source":"/garden/framework","target":"/garden/zap","text":"Zap"},{"source":"/garden/framework","target":"/garden/test-framework","text":"Test Framework"},{"source":"/garden/framework","target":"/garden/helm-unittest","text":"Helm Unittest"},{"source":"/garden/framework","target":"/garden/game-engine","text":"game engine"},{"source":"/garden/framework","target":"/garden/language","text":"Language"},{"source":"/garden/framework","target":"/garden/yaml","text":"YAML"},{"source":"/garden/framework","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/framework","target":"/garden/framework","text":"Framework"},{"source":"/garden/framework","target":"/garden/code","text":"Code"},{"source":"/garden/framework","target":"/garden/design-pattern","text":"Design Pattern"},{"source":"/garden/framework","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/framework","target":"/garden/technique","text":"Technique"},{"source":"/garden/framework","target":"/garden/library","text":"Library"},{"source":"/garden/framework","target":"/garden/test-framework","text":"Test Framework"},{"source":"/garden/framework","target":"/garden/library","text":"Library"},{"source":"/garden/framework","target":"/garden/language","text":"Language"},{"source":"/garden/framework","target":"/garden/ruby-on-rails","text":"Ruby on Rails"},{"source":"/garden/framework","target":"/garden/ebitengine","text":"Ebitengine"},{"source":"/garden/framework","target":"/garden/game-engine","text":"game engine"},{"source":"/garden/framework","target":"/garden/code","text":"Code"},{"source":"/garden/framework","target":"/garden/framework","text":"Framework"},{"source":"/garden/framework","target":"/garden/platform","text":"Platform"},{"source":"/garden/game-engine","target":"/garden/framework","text":"Framework"},{"source":"/garden/game-engine","target":"/garden/ebitengine","text":"Ebitengine"},{"source":"/garden/game-engine","target":"/garden/go","text":"GoLang"},{"source":"/garden/game-engine","target":"/garden/code","text":"Code"},{"source":"/garden/go","target":"/garden/code","text":"Code"},{"source":"/garden/go","target":"/garden/language","text":"Language"},{"source":"/garden/hcl","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/hcl","target":"/garden/nomad","text":"Nomad"},{"source":"/garden/hcl","target":"/garden/yaml","text":"YAML"},{"source":"/garden/hcl","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/hcl","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/hcl","target":"/garden/docker-compose","text":"Docker Compose"},{"source":"/garden/hcl","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/hcl","target":"/garden/go","text":"GoLang"},{"source":"/garden/hcl","target":"/garden/yaml","text":"YAML"},{"source":"/garden/hcl","target":"/garden/helm","text":"Helm"},{"source":"/garden/hcl","target":"/garden/yamlscript","text":"YAMLScript"},{"source":"/garden/hcl","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/hcl","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/hcl","target":"/garden/yaml","text":"YAML"},{"source":"/garden/hcl","target":"/garden/yaml","text":"YAML"},{"source":"/garden/hcl","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/hcl","target":"/garden/cel","text":"CEL"},{"source":"/garden/hcl","target":"/garden/code","text":"Code"},{"source":"/garden/hcl","target":"/garden/language","text":"Language"},{"source":"/garden/language","target":"/garden/code","text":"Code"},{"source":"/garden/language","target":"/garden/yaml","text":"YAML"},{"source":"/garden/language","target":"/garden/json","text":"JSON"},{"source":"/garden/language","target":"/garden/hcl","text":"HCL"},{"source":"/garden/language","target":"/garden/cel","text":"CEL"},{"source":"/garden/language","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/language","target":"/garden/protobuf","text":"Protobuf"},{"source":"/garden/language","target":"/garden/go","text":"GoLang"},{"source":"/garden/language","target":"/garden/ruby","text":"Ruby"},{"source":"/garden/language","target":"/garden/library","text":"Library"},{"source":"/garden/language","target":"/garden/framework","text":"Framework"},{"source":"/garden/library","target":"/garden/code","text":"Code"},{"source":"/garden/library","target":"/garden/framework","text":"Framework"},{"source":"/garden/library","target":"/garden/language","text":"Language"},{"source":"/garden/library","target":"/garden/yaml","text":"YAML"},{"source":"/garden/library","target":"/garden/framework","text":"Framework"},{"source":"/garden/library","target":"/garden/zap","text":"Zap"},{"source":"/garden/library","target":"/garden/go","text":"GoLang"},{"source":"/garden/library","target":"/garden/tree-sitter","text":"tree-sitter"},{"source":"/garden/test-framework","target":"/garden/code","text":"Code"},{"source":"/garden/test-framework","target":"/garden/technique","text":"Technique"},{"source":"/garden/test-framework","target":"/garden/language","text":"Language"},{"source":"/garden/test-framework","target":"/garden/library","text":"Library"},{"source":"/garden/test-framework","target":"/garden/framework","text":"Framework"},{"source":"/garden/test-framework","target":"/garden/helm-unittest","text":"Helm Unittest"},{"source":"/garden/test-framework","target":"/garden/helm-chart","text":"Helm Chart"},{"source":"/garden/api","target":"/garden/technique","text":"Technique"},{"source":"/garden/api","target":"/garden/grpc","text":"gRPC"},{"source":"/garden/api","target":"/garden/graphql","text":"GraphQL"},{"source":"/garden/api","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/api","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/api","target":"/garden/grpc","text":"gRPC"},{"source":"/garden/api","target":"/garden/graphql","text":"GraphQL"},{"source":"/garden/orchestrator","target":"/garden/platform","text":"Platform"},{"source":"/garden/grpc","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/grpc","target":"/garden/technique","text":"Technique"},{"source":"/garden/grpc","target":"/garden/api","text":"API"},{"source":"/garden/graphql","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/graphql","target":"/garden/technique","text":"Technique"},{"source":"/garden/graphql","target":"/garden/api","text":"API"},{"source":"/garden/rest","target":"/garden/technique","text":"Technique"},{"source":"/garden/rest","target":"/garden/api","text":"API"},{"source":"/garden/kubernetes","target":"/garden/platform","text":"Platform"},{"source":"/garden/kubernetes","target":"/garden/orchestrator","text":"Orchestrator"},{"source":"/garden/opentelemetry","target":"/garden/incident-management","text":"Incident Management"},{"source":"/garden/opentelemetry","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/opentelemetry","target":"/garden/go","text":"GoLang"},{"source":"/garden/opentelemetry","target":"/garden/code","text":"Code"},{"source":"/garden/opentelemetry","target":"/garden/library","text":"Library"},{"source":"/garden/python","target":"/garden/ansible","text":"Ansible"},{"source":"/garden/python","target":"/garden/ansible","text":"Ansible"},{"source":"/garden/python","target":"/garden/go","text":"GoLang"},{"source":"/garden/python","target":"/garden/ruby","text":"Ruby"},{"source":"/garden/python","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/python","target":"/garden/cdks","text":"CDKs"},{"source":"/garden/python","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/python","target":"/garden/ansible","text":"Ansible"},{"source":"/garden/python","target":"/garden/go","text":"GoLang"},{"source":"/garden/python","target":"/garden/code","text":"Code"},{"source":"/garden/python","target":"/garden/language","text":"Language"},{"source":"/garden/ruby","target":"/garden/ruby-on-rails","text":"Ruby on Rails"},{"source":"/garden/ruby","target":"/garden/go","text":"GoLang"},{"source":"/garden/ruby","target":"/garden/python","text":"Python"},{"source":"/garden/ruby","target":"/garden/ruby-on-rails","text":"Ruby on Rails"},{"source":"/garden/ruby","target":"/garden/capistrano","text":"Capistrano"},{"source":"/garden/ruby","target":"/garden/ruby-on-rails","text":"Ruby on Rails"},{"source":"/garden/ruby","target":"/garden/python","text":"Python"},{"source":"/garden/ruby","target":"/garden/go","text":"GoLang"},{"source":"/garden/ruby","target":"/garden/code","text":"Code"},{"source":"/garden/ruby","target":"/garden/language","text":"Language"},{"source":"/garden/zap","target":"/garden/go","text":"GoLang"},{"source":"/garden/zap","target":"/garden/code","text":"Code"},{"source":"/garden/zap","target":"/garden/library","text":"Library"},{"source":"/garden/gitlab","target":"/garden/platform","text":"Platform"},{"source":"/garden/gitlab","target":"/garden/git","text":"git"},{"source":"/garden/gitlab","target":"/garden/github","text":"GitHub"},{"source":"/garden/gitlab","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/gitlab","target":"/garden/github","text":"GitHub"},{"source":"/garden/gitlab","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/gitlab","target":"/garden/git","text":"git"},{"source":"/garden/gitlab","target":"/garden/github","text":"GitHub"},{"source":"/garden/gitlab","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/gitlab","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/gitlab","target":"/garden/git","text":"git"},{"source":"/garden/gitlab","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/gitlab","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/gitlab","target":"/garden/git-lfs","text":"git lfs"},{"source":"/garden/gitlab","target":"/garden/git","text":"git"},{"source":"/garden/gitlab","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/gitlab","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/gitlab","target":"/garden/github","text":"GitHub"},{"source":"/garden/helm-chart","target":"/garden/helm","text":"Helm"},{"source":"/garden/helm-chart","target":"/garden/go-template","text":"Go Template"},{"source":"/garden/helm-chart","target":"/garden/docker","text":"Docker"},{"source":"/garden/helm-chart","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/helm-chart","target":"/garden/kustomize","text":"Kustomize"},{"source":"/garden/helm-chart","target":"/garden/code","text":"Code"},{"source":"/garden/helm-chart","target":"/garden/language","text":"Language"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/cloud","text":"Cloud"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/aws","text":"AWS"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/azure","text":"Azure"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/hybrid-cloud","text":"Hybrid Cloud"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/cattle-not-pets","text":"Cattle Not Pets"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/containerization","text":"Containerization"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/hybrid-cloud","text":"Hybrid Cloud"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/cattle-not-pets","text":"Cattle Not Pets"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/hybrid-cloud","text":"Hybrid Cloud"},{"source":"/garden/cloud-lift-and-shift","target":"/garden/technique","text":"Technique"},{"source":"/garden/cue","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/cue","target":"/garden/json-schema","text":"JSON Schema"},{"source":"/garden/cue","target":"/garden/protobuf","text":"Protobuf"},{"source":"/garden/cue","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/cue","target":"/garden/tool","text":"Tools"},{"source":"/garden/hybrid-cloud","target":"/garden/cloud-lift-and-shift","text":"Cloud Lift and Shift"},{"source":"/garden/hybrid-cloud","target":"/garden/technique","text":"Technique"},{"source":"/blog/20250615-blast-radius","target":"/garden/aws","text":"AWS"},{"source":"/blog/20250615-blast-radius","target":"/garden/kustomize","text":"Kustomize"},{"source":"/blog/20250615-blast-radius","target":"/garden/cue","text":"CUE"},{"source":"/garden/cel","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/cel","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/cel","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/cel","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/cel","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/cel","target":"/garden/code","text":"Code"},{"source":"/garden/cel","target":"/garden/language","text":"Language"},{"source":"/garden/protobuf","target":"/garden/json","text":"JSON"},{"source":"/garden/protobuf","target":"/garden/grpc","text":"gRPC"},{"source":"/garden/protobuf","target":"/garden/grpc","text":"gRPC"},{"source":"/garden/protobuf","target":"/garden/json","text":"JSON"},{"source":"/garden/protobuf","target":"/garden/grpc","text":"gRPC"},{"source":"/garden/protobuf","target":"/garden/code","text":"Code"},{"source":"/garden/protobuf","target":"/garden/language","text":"Language"},{"source":"/garden/incident-management","target":"/garden/sre","text":"SRE"},{"source":"/garden/incident-management","target":"/garden/devops","text":"DevOps"},{"source":"/garden/incident-management","target":"/garden/opentelemetry","text":"OpenTelemetry"},{"source":"/garden/incident-management","target":"/garden/technique","text":"Technique"},{"source":"/garden/kustomize","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/kustomize","target":"/garden/helm","text":"Helm"},{"source":"/garden/kustomize","target":"/garden/helm","text":"Helm"},{"source":"/garden/kustomize","target":"/garden/helm","text":"Helm"},{"source":"/garden/kustomize","target":"/garden/tool","text":"Tools"},{"source":"/garden/policy-as-code","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/policy-as-code","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/policy-as-code","target":"/garden/helm","text":"Helm"},{"source":"/garden/policy-as-code","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/policy-as-code","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/policy-as-code","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/policy-as-code","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/policy-as-code","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/policy-as-code","target":"/garden/technique","text":"Technique"},{"source":"/garden/work-queue","target":"/garden/inbox-pattern","text":"Inbox Pattern"},{"source":"/garden/work-queue","target":"/garden/technique","text":"Technique"},{"source":"/garden/workflow","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/workflow","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/workflow","target":"/garden/technique","text":"Technique"},{"source":"/garden/inbox-pattern","target":"/garden/workflow","text":"workflow"},{"source":"/garden/inbox-pattern","target":"/garden/technique","text":"Technique"},{"source":"/garden/k9s","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/k9s","target":"/garden/tool","text":"Tools"},{"source":"/garden/openapi","target":"/garden/grpc","text":"gRPC"},{"source":"/garden/openapi","target":"/garden/graphql","text":"GraphQL"},{"source":"/garden/openapi","target":"/garden/code","text":"Code"},{"source":"/garden/openapi","target":"/garden/language","text":"Language"},{"source":"/blog/20250514-rag-pipeline","target":"/garden/single-responsibility-principle","text":"Single Responsibility Principle"},{"source":"/blog/20250514-rag-pipeline","target":"/garden/openapi","text":"OpenAPI"},{"source":"/blog/20250514-rag-pipeline","target":"/garden/cursor-keep-alive","text":"Cursor Keep Alive"},{"source":"/blog/20250514-rag-pipeline","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/cursor-keep-alive","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/cursor-keep-alive","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/cursor-keep-alive","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/cursor-keep-alive","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/cursor-keep-alive","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/cursor-keep-alive","target":"/garden/technique","text":"Technique"},{"source":"/garden/cursor-keep-alive","target":"/garden/api","text":"API"},{"source":"/garden/single-responsibility-principle","target":"/garden/technique","text":"Technique"},{"source":"/garden/sre","target":"/garden/devops","text":"DevOps"},{"source":"/garden/sre","target":"/garden/technique","text":"Technique"},{"source":"/garden/go-template","target":"/garden/helm","text":"Helm"},{"source":"/garden/go-template","target":"/garden/code","text":"Code"},{"source":"/garden/go-template","target":"/garden/language","text":"Language"},{"source":"/garden/json","target":"/garden/protobuf","text":"Protobuf"},{"source":"/garden/json","target":"/garden/yaml","text":"YAML"},{"source":"/garden/json","target":"/garden/protobuf","text":"Protobuf"},{"source":"/garden/json","target":"/garden/json-schema","text":"JSON Schema"},{"source":"/garden/json","target":"/garden/code","text":"Code"},{"source":"/garden/json","target":"/garden/language","text":"Language"},{"source":"/garden/json-schema","target":"/garden/json","text":"JSON"},{"source":"/garden/json-schema","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/json-schema","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/json-schema","target":"/garden/code","text":"Code"},{"source":"/garden/json-schema","target":"/garden/language","text":"Language"},{"source":"/garden/containerization","target":"/garden/cattle-not-pets","text":"Cattle Not Pets"},{"source":"/garden/containerization","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/containerization","target":"/garden/12-factor-app","text":"12 Factor App"},{"source":"/garden/containerization","target":"/garden/technique","text":"Technique"},{"source":"/garden/containerization","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/containerization","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/containerization","target":"/garden/cloud","text":"Cloud"},{"source":"/garden/containerization","target":"/garden/docker","text":"Docker"},{"source":"/garden/containerization","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/containerization","target":"/garden/container-structure-test","text":"Container Structure Test"},{"source":"/garden/containerization","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/containerization","target":"/garden/cattle-not-pets","text":"Cattle Not Pets"},{"source":"/garden/containerization","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/containerization","target":"/garden/container-structure-test","text":"Container Structure Test"},{"source":"/garden/containerization","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/dev-container","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/dev-container","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/dev-container","target":"/garden/docker","text":"Docker"},{"source":"/garden/dev-container","target":"/garden/containerization","text":"Containerization"},{"source":"/garden/dev-container","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/dev-container","target":"/garden/ansible","text":"Ansible"},{"source":"/garden/dev-container","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/dev-container","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/dev-container","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/dev-container","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/dev-container","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/dev-container","target":"/garden/ide","text":"IDE"},{"source":"/garden/dev-container","target":"/garden/containerization","text":"Containerization"},{"source":"/garden/dev-container","target":"/garden/code","text":"Code"},{"source":"/garden/docker-desktop","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/docker-desktop","target":"/garden/containerization","text":"Containerization"},{"source":"/garden/docker-desktop","target":"/garden/docker-compose","text":"Docker Compose"},{"source":"/garden/docker-desktop","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/docker-desktop","target":"/garden/docker","text":"Docker"},{"source":"/garden/docker-desktop","target":"/garden/docker","text":"Docker"},{"source":"/garden/docker-desktop","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/docker-desktop","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/docker-desktop","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/docker-desktop","target":"/garden/docker","text":"Docker"},{"source":"/garden/docker-desktop","target":"/garden/platform","text":"Platform"},{"source":"/garden/system-initiative","target":"/garden/terraform","text":"terraform"},{"source":"/garden/system-initiative","target":"/garden/platform","text":"Platform"},{"source":"/garden/tailscale","target":"/garden/wireguard","text":"Wireguard"},{"source":"/garden/tailscale","target":"/garden/ztna","text":"ZTNA"},{"source":"/garden/tailscale","target":"/garden/platform","text":"Platform"},{"source":"/garden/wireguard","target":"/garden/tool","text":"Tools"},{"source":"/garden/ztna","target":"/garden/tailscale","text":"Tailscale"},{"source":"/garden/ztna","target":"/garden/technique","text":"Technique"},{"source":"/garden/cdks","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/cdks","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/cdks","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/cdks","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/cdks","target":"/garden/tool","text":"Tools"},{"source":"/garden/planning-poker","target":"/garden/scrum","text":"Scrum"},{"source":"/garden/planning-poker","target":"/garden/3-point-estimate","text":"3 Point Estimate"},{"source":"/garden/planning-poker","target":"/garden/technique","text":"Technique"},{"source":"/garden/scrum","target":"/garden/agile-software-development","text":"Agile Software Development"},{"source":"/garden/scrum","target":"/garden/technique","text":"Technique"},{"source":"/garden/code-review","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/code-review","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/code-review","target":"/garden/github","text":"GitHub"},{"source":"/garden/code-review","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/code-review","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/code-review","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/code-review","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/code-review","target":"/garden/codacy","text":"Codacy"},{"source":"/garden/code-review","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/code-review","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/code-review","target":"/garden/technique","text":"Technique"},{"source":"/garden/nomad","target":"/garden/platform","text":"Platform"},{"source":"/garden/nomad","target":"/garden/orchestrator","text":"Orchestrator"},{"source":"/garden/nomad","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/yaml","target":"/garden/json","text":"JSON"},{"source":"/garden/yaml","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/yaml","target":"/garden/docker-compose","text":"Docker Compose"},{"source":"/garden/yaml","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/yaml","target":"/garden/helm","text":"Helm"},{"source":"/garden/yaml","target":"/garden/json","text":"JSON"},{"source":"/garden/yaml","target":"/garden/json-schema","text":"JSON Schema"},{"source":"/garden/yaml","target":"/garden/yamlscript","text":"YAMLScript"},{"source":"/garden/yaml","target":"/garden/code","text":"Code"},{"source":"/garden/yaml","target":"/garden/language","text":"Language"},{"source":"/garden/cattle-not-pets","target":"/garden/containerization","text":"containerization"},{"source":"/garden/cattle-not-pets","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/cattle-not-pets","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/cattle-not-pets","target":"/garden/cloud","text":"Cloud"},{"source":"/garden/cattle-not-pets","target":"/garden/technique","text":"Technique"},{"source":"/blog/20250406-wikilinks","target":"/blog/20250406-wikilinks","text":"Hugo Wikilinks"},{"source":"/blog/20250406-wikilinks","target":"/blog/20250406-wikilinks","text":"Hugo Wikilinks"},{"source":"/blog/20250406-wikilinks","target":"/blog/20250406-wikilinks","text":"Hugo Wikilinks"},{"source":"/garden/access-on-demand","target":"/garden/technique","text":"Technique"},{"source":"/garden/test-pyramid","target":"/garden/technique","text":"Technique"},{"source":"/garden/declarative-iac","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/declarative-iac","target":"/garden/cdks","text":"CDKs"},{"source":"/garden/declarative-iac","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/declarative-iac","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/declarative-iac","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/declarative-iac","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/declarative-iac","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/declarative-iac","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/declarative-iac","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/declarative-iac","target":"/garden/hcl","text":"HCL"},{"source":"/garden/declarative-iac","target":"/garden/helm","text":"Helm"},{"source":"/garden/declarative-iac","target":"/garden/yaml","text":"YAML"},{"source":"/garden/declarative-iac","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/declarative-iac","target":"/garden/ansible","text":"Ansible"},{"source":"/garden/declarative-iac","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/declarative-iac","target":"/garden/declarative-programming","text":"Declarative Programming"},{"source":"/garden/declarative-iac","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/declarative-iac","target":"/garden/technique","text":"Technique"},{"source":"/garden/dry","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/dry","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/dry","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/dry","target":"/garden/technique","text":"Technique"},{"source":"/garden/imperative-iac","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/imperative-iac","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/imperative-iac","target":"/garden/technique","text":"Technique"},{"source":"/garden/a-model-of-communication","target":"/garden/technique","text":"Technique"},{"source":"/garden/ansible","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/ansible","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/ansible","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/ansible","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/ansible","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/ansible","target":"/garden/capistrano","text":"Capistrano"},{"source":"/garden/ansible","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/ansible","target":"/garden/tool","text":"Tools"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/technique","text":"Technique"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/ai-techniques","text":"AI Techniques"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/agent-skills-framework","text":"Agent Skills"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/gbrain","text":"gbrain"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/claude-code","text":"Claude Code"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/ollama","text":"Ollama"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/platform","text":"Platform"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/cursor","text":"Cursor"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/artificial-intelligence-machine-learning","target":"/garden/dagu","text":"Dagu"},{"source":"/garden/asciiflow","target":"/garden/draw-io","text":"Draw.io"},{"source":"/garden/asciiflow","target":"/garden/diagramming","text":"Diagramming"},{"source":"/garden/asciiflow","target":"/garden/draw-io","text":"Draw.io"},{"source":"/garden/asciiflow","target":"/garden/tool","text":"Tools"},{"source":"/garden/auth0","target":"/garden/frontegg","text":"FrontEgg"},{"source":"/garden/auth0","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/auth0","target":"/garden/access-on-demand","text":"Access on Demand"},{"source":"/garden/auth0","target":"/garden/boundary-hashicorp","text":"Boundary (Hashicorp)"},{"source":"/garden/auth0","target":"/garden/platform","text":"Platform"},{"source":"/garden/aws","target":"/garden/cloud","text":"Cloud"},{"source":"/garden/aws","target":"/garden/azure","text":"Azure"},{"source":"/garden/aws","target":"/garden/hybrid-cloud","text":"Hybrid Cloud"},{"source":"/garden/aws","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/aws","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/aws","target":"/garden/aws-eks","text":"AWS EKS"},{"source":"/garden/aws","target":"/garden/aws-eks","text":"AWS EKS"},{"source":"/garden/aws","target":"/garden/platform","text":"Platform"},{"source":"/garden/aws-eks","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/aws-eks","target":"/garden/aws","text":"AWS"},{"source":"/garden/aws-eks","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/aws-eks","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/aws-eks","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/aws-eks","target":"/garden/aws","text":"AWS"},{"source":"/garden/aws-eks","target":"/garden/platform","text":"Platform"},{"source":"/garden/aws-eks","target":"/garden/cloud","text":"Cloud"},{"source":"/garden/aws-eks","target":"/garden/orchestrator","text":"Orchestrator"},{"source":"/garden/ci-cd-tools","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/ci-cd-tools","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/ci-cd-tools","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/ci-cd-tools","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/ci-cd-tools","target":"/garden/feature-flags","text":"Feature Flags"},{"source":"/garden/ci-cd-tools","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/ci-cd-tools","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/ci-cd-tools","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/ci-cd-tools","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/ci-cd-tools","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/ci-cd-tools","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/ci-cd-tools","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/ci-cd-tools","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/ci-cd-tools","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/ci-cd-tools","target":"/garden/capistrano","text":"Capistrano"},{"source":"/garden/ci-cd-tools","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/ci-cd-tools","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/ci-cd-tools","target":"/garden/tool","text":"Tools"},{"source":"/garden/code-linting","target":"/garden/technique","text":"Technique"},{"source":"/garden/code-linting","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/code-linting","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/code-linting","target":"/garden/editorconfig","text":"EditorConfig"},{"source":"/garden/code-linting","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/code-linting","target":"/garden/codacy","text":"Codacy"},{"source":"/garden/code-linting","target":"/garden/code-review","text":"Code Review"},{"source":"/garden/code-linting","target":"/garden/code-scanner","text":"Code Scanner"},{"source":"/garden/code-linting","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/code-linting","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/conftest","target":"/garden/code-scanner","text":"Code Scanner"},{"source":"/garden/conftest","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/conftest","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/conftest","target":"/garden/technique","text":"Technique"},{"source":"/garden/conftest","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/conftest","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/conftest","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/conftest","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/conftest","target":"/garden/codacy","text":"Codacy"},{"source":"/garden/conftest","target":"/garden/cel","text":"CEL"},{"source":"/garden/conftest","target":"/garden/codacy","text":"Codacy"},{"source":"/garden/conftest","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/conftest","target":"/garden/cel","text":"CEL"},{"source":"/garden/conftest","target":"/garden/tool","text":"Tools"},{"source":"/garden/direnv","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/direnv","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/direnv","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/direnv","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/direnv","target":"/garden/environment-managers","text":"Environment Managers"},{"source":"/garden/direnv","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/direnv","target":"/garden/tool","text":"Tools"},{"source":"/garden/draw-io","target":"/garden/diagramming","text":"Diagramming"},{"source":"/garden/draw-io","target":"/garden/asciiflow","text":"AsciiFlow"},{"source":"/garden/draw-io","target":"/garden/diagramming","text":"Diagramming"},{"source":"/garden/draw-io","target":"/garden/tool","text":"Tools"},{"source":"/garden/earlybird","target":"/garden/code-scanner","text":"Code Scanner"},{"source":"/garden/earlybird","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/earlybird","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/earlybird","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/earlybird","target":"/garden/codacy","text":"Codacy"},{"source":"/garden/earlybird","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/earlybird","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/earlybird","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/earlybird","target":"/garden/tool","text":"Tools"},{"source":"/garden/editorconfig","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/editorconfig","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/editorconfig","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/editorconfig","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/editorconfig","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/editorconfig","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/editorconfig","target":"/garden/tool","text":"Tools"},{"source":"/garden/gatekeeper","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/gatekeeper","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/gatekeeper","target":"/garden/cel","text":"CEL"},{"source":"/garden/gatekeeper","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/gatekeeper","target":"/garden/cel","text":"CEL"},{"source":"/garden/gatekeeper","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/gatekeeper","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/gatekeeper","target":"/garden/cel","text":"CEL"},{"source":"/garden/gatekeeper","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/gatekeeper","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/gatekeeper","target":"/garden/cel","text":"CEL"},{"source":"/garden/gatekeeper","target":"/garden/helm","text":"Helm"},{"source":"/garden/gatekeeper","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/gatekeeper","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/gatekeeper","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/gatekeeper","target":"/garden/cel","text":"CEL"},{"source":"/garden/gatekeeper","target":"/garden/tool","text":"Tools"},{"source":"/garden/gatekeeper","target":"/garden/code-scanner","text":"Code Scanner"},{"source":"/garden/github","target":"/garden/platform","text":"Platform"},{"source":"/garden/github","target":"/garden/git","text":"git"},{"source":"/garden/github","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/github","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/github","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/github","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/github","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/github","target":"/garden/code-review","text":"Code Review"},{"source":"/garden/github","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/github","target":"/garden/git-lfs","text":"git lfs"},{"source":"/garden/github","target":"/garden/git","text":"git"},{"source":"/garden/github","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/github","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/github","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/github","target":"/garden/git","text":"git"},{"source":"/garden/github","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/github","target":"/garden/git-lfs","text":"git lfs"},{"source":"/garden/github","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/github","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/github","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/github","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/github","target":"/garden/git","text":"git"},{"source":"/garden/software-as-a-service","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/software-as-a-service","target":"/garden/feature-flags","text":"Feature Flags"},{"source":"/garden/software-as-a-service","target":"/garden/12-factor-app","text":"12 Factor App"},{"source":"/garden/software-as-a-service","target":"/garden/cattle-not-pets","text":"Cattle Not Pets"},{"source":"/garden/software-as-a-service","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/software-as-a-service","target":"/garden/auth0","text":"Auth0"},{"source":"/garden/software-as-a-service","target":"/garden/frontegg","text":"FrontEgg"},{"source":"/garden/software-as-a-service","target":"/garden/opentelemetry","text":"OpenTelemetry"},{"source":"/garden/software-as-a-service","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/software-as-a-service","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/software-as-a-service","target":"/garden/technique","text":"Technique"},{"source":"/garden/agile-software-development","target":"/garden/technique","text":"Technique"},{"source":"/garden/docker-compose","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/docker-compose","target":"/garden/skaffold","text":"Skaffold"},{"source":"/garden/docker-compose","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/docker-compose","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/docker-compose","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/docker-compose","target":"/garden/docker-swarm","text":"Docker Swarm"},{"source":"/garden/docker-compose","target":"/garden/skaffold","text":"Skaffold"},{"source":"/garden/docker-compose","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/docker-compose","target":"/garden/skaffold","text":"Skaffold"},{"source":"/garden/docker-compose","target":"/garden/docker","text":"Docker"},{"source":"/garden/docker-compose","target":"/garden/docker","text":"Docker"},{"source":"/garden/docker-compose","target":"/garden/tool","text":"Tools"},{"source":"/garden/skaffold","target":"/garden/docker-compose","text":"Docker Compose"},{"source":"/garden/skaffold","target":"/garden/docker","text":"Docker"},{"source":"/garden/skaffold","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/skaffold","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/skaffold","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/skaffold","target":"/garden/tool","text":"Tools"},{"source":"/garden/azure","target":"/garden/cloud","text":"Cloud"},{"source":"/garden/azure","target":"/garden/aws","text":"AWS"},{"source":"/garden/azure","target":"/garden/hybrid-cloud","text":"Hybrid Cloud"},{"source":"/garden/azure","target":"/garden/hybrid-cloud","text":"Hybrid Cloud"},{"source":"/garden/azure","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/azure","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/azure","target":"/garden/platform","text":"Platform"},{"source":"/garden/devops","target":"/garden/agile-software-development","text":"Agile Software Development"},{"source":"/garden/devops","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/devops","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/devops","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/devops","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/devops","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/devops","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/devops","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/devops","target":"/garden/code-review","text":"Code Review"},{"source":"/garden/devops","target":"/garden/cattle-not-pets","text":"Cattle Not Pets"},{"source":"/garden/devops","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/devops","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/devops","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/devops","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/devops","target":"/garden/cloudbees","text":"CloudBees"},{"source":"/garden/devops","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/devops","target":"/garden/technique","text":"Technique"},{"source":"/garden/devsecops","target":"/garden/devops","text":"DevOps"},{"source":"/garden/devsecops","target":"/garden/agile-software-development","text":"Agile Software Development"},{"source":"/garden/devsecops","target":"/garden/devops","text":"DevOps"},{"source":"/garden/devsecops","target":"/garden/agile-software-development","text":"Agile Software Development"},{"source":"/garden/devsecops","target":"/garden/technique","text":"Technique"},{"source":"/garden/docker-swarm","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/docker-swarm","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/docker-swarm","target":"/garden/docker-compose","text":"Docker Compose"},{"source":"/garden/docker-swarm","target":"/garden/docker","text":"Docker"},{"source":"/garden/docker-swarm","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/docker-swarm","target":"/garden/docker-compose","text":"Docker Compose"},{"source":"/garden/docker-swarm","target":"/garden/containerization","text":"Containerization"},{"source":"/garden/docker-swarm","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/docker-swarm","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/docker-swarm","target":"/garden/docker-compose","text":"Docker Compose"},{"source":"/garden/docker-swarm","target":"/garden/docker","text":"Docker"},{"source":"/garden/docker-swarm","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/docker-swarm","target":"/garden/platform","text":"Platform"},{"source":"/garden/yamlscript","target":"/garden/helm","text":"Helm"},{"source":"/garden/yamlscript","target":"/garden/code","text":"Code"},{"source":"/garden/yamlscript","target":"/garden/language","text":"Language"},{"source":"/garden/jenkins-x","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/jenkins-x","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/jenkins-x","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/jenkins-x","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/jenkins-x","target":"/garden/platform","text":"Platform"},{"source":"/garden/cloudbees","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/cloudbees","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/cloudbees","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/cloudbees","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/cloudbees","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/cloudbees","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/cloudbees","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/cloudbees","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/cloudbees","target":"/garden/jenkins-x","text":"Jenkins X"},{"source":"/garden/cloudbees","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/cloudbees","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/cloudbees","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/cloudbees","target":"/garden/platform","text":"Platform"},{"source":"/garden/jenkins","target":"/garden/cattle-not-pets","text":"Cattle not pets"},{"source":"/garden/jenkins","target":"/garden/devops","text":"DevOps"},{"source":"/garden/jenkins","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/jenkins","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/jenkins","target":"/garden/aws","text":"AWS"},{"source":"/garden/jenkins","target":"/garden/azure","text":"Azure"},{"source":"/garden/jenkins","target":"/garden/platform","text":"Platform"},{"source":"/garden/pulumi","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/pulumi","target":"/garden/tool","text":"Tools"},{"source":"/garden/code","target":"/garden/platform","text":"Platform"},{"source":"/garden/code","target":"/garden/technique","text":"Technique"},{"source":"/garden/code","target":"/garden/language","text":"Language"},{"source":"/garden/code","target":"/garden/yaml","text":"YAML"},{"source":"/garden/code","target":"/garden/json","text":"JSON"},{"source":"/garden/code","target":"/garden/hcl","text":"HCL"},{"source":"/garden/code","target":"/garden/openapi","text":"OpenAPI"},{"source":"/garden/code","target":"/garden/protobuf","text":"Protobuf"},{"source":"/garden/code","target":"/garden/library","text":"Library"},{"source":"/garden/code","target":"/garden/zap","text":"Zap"},{"source":"/garden/code","target":"/garden/tree-sitter","text":"tree-sitter"},{"source":"/garden/code","target":"/garden/opentelemetry","text":"OpenTelemetry"},{"source":"/garden/code","target":"/garden/framework","text":"Framework"},{"source":"/garden/code","target":"/garden/ruby-on-rails","text":"Ruby on Rails"},{"source":"/garden/code","target":"/garden/test-framework","text":"Test Framework"},{"source":"/garden/code","target":"/garden/helm-unittest","text":"Helm Unittest"},{"source":"/garden/code","target":"/garden/container-structure-test","text":"Container Structure Test"},{"source":"/garden/code","target":"/garden/game-engine","text":"game engine"},{"source":"/garden/code","target":"/garden/ebitengine","text":"Ebitengine"},{"source":"/garden/code","target":"/garden/go","text":"GoLang"},{"source":"/garden/code","target":"/garden/python","text":"Python"},{"source":"/garden/code","target":"/garden/ruby","text":"Ruby"},{"source":"/garden/code","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/code","target":"/garden/library","text":"Library"},{"source":"/garden/code","target":"/garden/framework","text":"Framework"},{"source":"/garden/code","target":"/garden/language","text":"Language"},{"source":"/garden/code","target":"/garden/yaml","text":"YAML"},{"source":"/garden/code","target":"/garden/json","text":"JSON"},{"source":"/garden/code","target":"/garden/test-framework","text":"Test Framework"},{"source":"/garden/code","target":"/garden/language","text":"Language"},{"source":"/garden/code","target":"/garden/library","text":"Library"},{"source":"/garden/platform","target":"/garden/cloud","text":"Cloud"},{"source":"/garden/platform","target":"/garden/orchestrator","text":"Orchestrator"},{"source":"/garden/technique","target":"/garden/agile-software-development","text":"Agile Software Development"},{"source":"/garden/technique","target":"/garden/ai-techniques","text":"AI Techniques"},{"source":"/garden/technique","target":"/garden/api","text":"API"},{"source":"/garden/technique","target":"/garden/artificial-intelligence-machine-learning","text":"Artificial Intelligence & Machine Learning"},{"source":"/garden/technique","target":"/garden/design-pattern","text":"Design Pattern"},{"source":"/garden/tool","target":"/garden/ai-agent","text":"AI Agent"},{"source":"/garden/tool","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/tool","target":"/garden/code-scanner","text":"Code Scanner"},{"source":"/garden/tool","target":"/garden/diagramming","text":"Diagramming"},{"source":"/garden/tool","target":"/garden/environment-managers","text":"Environment Managers"},{"source":"/garden/tool","target":"/garden/ide","text":"IDE"},{"source":"/garden/testcontainers","target":"/garden/docker","text":"Docker"},{"source":"/garden/testcontainers","target":"/garden/container-structure-test","text":"Container Structure Test"},{"source":"/garden/testcontainers","target":"/garden/docker","text":"Docker"},{"source":"/garden/testcontainers","target":"/garden/code","text":"Code"},{"source":"/garden/testcontainers","target":"/garden/test-framework","text":"Test Framework"},{"source":"/garden/3-point-estimate","target":"/garden/scrum","text":"Scrum"},{"source":"/garden/3-point-estimate","target":"/garden/planning-poker","text":"Planning Poker"},{"source":"/garden/3-point-estimate","target":"/garden/planning-poker","text":"Planning Poker"},{"source":"/garden/3-point-estimate","target":"/garden/technique","text":"Technique"},{"source":"/garden/shift-left","target":"/garden/technique","text":"Technique"},{"source":"/garden/shift-left","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/shift-left","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/shiftleft","target":"/garden/technique","text":"Technique"},{"source":"/garden/shiftleft","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/shiftleft","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/terraform","target":"/garden/pulumi","text":"Pulumi"},{"source":"/garden/terraform","target":"/garden/tool","text":"Tools"},{"source":"/garden/ebitengine","target":"/garden/game-engine","text":"game engine"},{"source":"/garden/ebitengine","target":"/garden/go","text":"GoLang"},{"source":"/garden/ebitengine","target":"/garden/go","text":"GoLang"},{"source":"/garden/ebitengine","target":"/garden/code","text":"Code"},{"source":"/garden/12-factor-app","target":"/garden/technique","text":"Technique"},{"source":"/garden/argocd","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/argocd","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/argocd","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/argocd","target":"/garden/helm","text":"Helm"},{"source":"/garden/argocd","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/argocd","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/argocd","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/argocd","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/argocd","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/argocd","target":"/garden/ansible","text":"Ansible"},{"source":"/garden/argocd","target":"/garden/tool","text":"Tools"},{"source":"/garden/argocd","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/boundary-hashicorp","target":"/garden/ztna","text":"ZTNA"},{"source":"/garden/boundary-hashicorp","target":"/garden/access-on-demand","text":"Access on Demand"},{"source":"/garden/boundary-hashicorp","target":"/garden/tailscale","text":"Tailscale"},{"source":"/garden/boundary-hashicorp","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/boundary-hashicorp","target":"/garden/auth0","text":"Auth0"},{"source":"/garden/boundary-hashicorp","target":"/garden/tool","text":"Tools"},{"source":"/garden/chatops","target":"/garden/slack","text":"Slack"},{"source":"/garden/chatops","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/chatops","target":"/garden/incident-management","text":"Incident Management"},{"source":"/garden/chatops","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/chatops","target":"/garden/slack","text":"Slack"},{"source":"/garden/chatops","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/chatops","target":"/garden/technique","text":"Technique"},{"source":"/garden/codacy","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/codacy","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/codacy","target":"/garden/code-scanner","text":"Code Scanner"},{"source":"/garden/codacy","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/codacy","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/codacy","target":"/garden/conftest","text":"Conftest"},{"source":"/garden/codacy","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/codacy","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/codacy","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/codacy","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/codacy","target":"/garden/code-linting","text":"Code Linting"},{"source":"/garden/codacy","target":"/garden/tool","text":"Tools"},{"source":"/garden/dive","target":"/garden/container-structure-test","text":"Container Structure Test"},{"source":"/garden/dive","target":"/garden/containerization","text":"Containerization"},{"source":"/garden/dive","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/dive","target":"/garden/docker","text":"Docker"},{"source":"/garden/dive","target":"/garden/container-structure-test","text":"Container Structure Test"},{"source":"/garden/dive","target":"/garden/tool","text":"Tools"},{"source":"/garden/enterprise-ready","target":"/garden/12-factor-app","text":"12 Factor App"},{"source":"/garden/enterprise-ready","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/enterprise-ready","target":"/garden/12-factor-app","text":"12 Factor App"},{"source":"/garden/enterprise-ready","target":"/garden/single-sign-on","text":"Single Sign-on"},{"source":"/garden/enterprise-ready","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/enterprise-ready","target":"/garden/slas","text":"SLAs"},{"source":"/garden/enterprise-ready","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/enterprise-ready","target":"/garden/auth0","text":"Auth0"},{"source":"/garden/enterprise-ready","target":"/garden/frontegg","text":"FrontEgg"},{"source":"/garden/enterprise-ready","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/enterprise-ready","target":"/garden/software-as-a-service","text":"Software as a Service"},{"source":"/garden/enterprise-ready","target":"/garden/single-sign-on","text":"Single Sign-on"},{"source":"/garden/enterprise-ready","target":"/garden/slas","text":"SLAs"},{"source":"/garden/enterprise-ready","target":"/garden/technique","text":"Technique"},{"source":"/garden/git","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/git","target":"/garden/github","text":"GitHub"},{"source":"/garden/git","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/git","target":"/garden/git-lfs","text":"git lfs"},{"source":"/garden/git","target":"/garden/github","text":"GitHub"},{"source":"/garden/git","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/git","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/git","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/git","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/git","target":"/garden/editorconfig","text":"EditorConfig"},{"source":"/garden/git","target":"/garden/git-lfs","text":"git lfs"},{"source":"/garden/git","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/git","target":"/garden/github","text":"GitHub"},{"source":"/garden/git","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/git","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/git","target":"/garden/git-lfs","text":"git lfs"},{"source":"/garden/git","target":"/garden/github","text":"GitHub"},{"source":"/garden/git","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/git","target":"/garden/tool","text":"Tools"},{"source":"/garden/git-lfs","target":"/garden/git","text":"git"},{"source":"/garden/git-lfs","target":"/garden/github","text":"GitHub"},{"source":"/garden/git-lfs","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/git-lfs","target":"/garden/git","text":"git"},{"source":"/garden/git-lfs","target":"/garden/github","text":"GitHub"},{"source":"/garden/git-lfs","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/git-lfs","target":"/garden/git","text":"git"},{"source":"/garden/git-lfs","target":"/garden/tool","text":"Tools"},{"source":"/garden/github-actions","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/github-actions","target":"/garden/github","text":"GitHub"},{"source":"/garden/github-actions","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/github-actions","target":"/garden/continuous-integration","text":"Continuous Integration"},{"source":"/garden/github-actions","target":"/garden/continuous-delivery","text":"Continuous Delivery"},{"source":"/garden/github-actions","target":"/garden/gitlab","text":"GitLab"},{"source":"/garden/github-actions","target":"/garden/jenkins","text":"Jenkins"},{"source":"/garden/github-actions","target":"/garden/shift-left","text":"Shift Left"},{"source":"/garden/github-actions","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/github-actions","target":"/garden/policy-as-code","text":"Policy as Code"},{"source":"/garden/github-actions","target":"/garden/codacy","text":"Codacy"},{"source":"/garden/github-actions","target":"/garden/cursor-agent","text":"cursor-agent"},{"source":"/garden/github-actions","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/github-actions","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/github-actions","target":"/garden/argo-workflows","text":"Argo Workflows"},{"source":"/garden/github-actions","target":"/garden/tool","text":"Tools"},{"source":"/garden/helm","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/helm","target":"/garden/tool","text":"Tools"},{"source":"/garden/helm-unittest","target":"/garden/helm-chart","text":"Helm Chart"},{"source":"/garden/helm-unittest","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/helm-unittest","target":"/garden/helm-chart","text":"Helm Chart"},{"source":"/garden/helm-unittest","target":"/garden/code","text":"Code"},{"source":"/garden/helm-unittest","target":"/garden/test-framework","text":"Test Framework"},{"source":"/garden/jq","target":"/garden/tool","text":"Tools"},{"source":"/garden/replicated","target":"/garden/platform","text":"Platform"},{"source":"/garden/replicated","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/replicated","target":"/garden/tool","text":"Tools"},{"source":"/garden/ruby-on-rails","target":"/garden/ruby","text":"Ruby"},{"source":"/garden/ruby-on-rails","target":"/garden/capistrano","text":"Capistrano"},{"source":"/garden/ruby-on-rails","target":"/garden/ruby","text":"Ruby"},{"source":"/garden/ruby-on-rails","target":"/garden/code","text":"Code"},{"source":"/garden/ruby-on-rails","target":"/garden/framework","text":"Framework"},{"source":"/garden/zanzibar","target":"/garden/technique","text":"Technique"},{"source":"/garden/capistrano","target":"/garden/ruby","text":"Ruby"},{"source":"/garden/capistrano","target":"/garden/ruby-on-rails","text":"Ruby on Rails"},{"source":"/garden/capistrano","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/capistrano","target":"/garden/gitops","text":"GitOps"},{"source":"/garden/capistrano","target":"/garden/devsecops","text":"DevSecOps"},{"source":"/garden/capistrano","target":"/garden/ansible","text":"Ansible"},{"source":"/garden/capistrano","target":"/garden/terraform","text":"Terraform"},{"source":"/garden/capistrano","target":"/garden/declarative-iac","text":"Declarative IaC"},{"source":"/garden/capistrano","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/capistrano","target":"/garden/argocd","text":"ArgoCD"},{"source":"/garden/capistrano","target":"/garden/imperative-iac","text":"Imperative IaC"},{"source":"/garden/capistrano","target":"/garden/tool","text":"Tools"},{"source":"/garden/capistrano","target":"/garden/ci-cd-tools","text":"CI-CD Tools"},{"source":"/garden/gitops","target":"/garden/continuous-deployment","text":"Continuous Deployment"},{"source":"/garden/gitops","target":"/garden/technique","text":"Technique"},{"source":"/garden/container-structure-test","target":"/garden/code","text":"Code"},{"source":"/garden/container-structure-test","target":"/garden/test-framework","text":"Test Framework"},{"source":"/garden/container-structure-test","target":"/garden/containerization","text":"Containerization"},{"source":"/garden/container-structure-test","target":"/garden/github-actions","text":"GitHub Actions"},{"source":"/garden/container-structure-test","target":"/garden/helm-unittest","text":"Helm Unittest"},{"source":"/garden/container-structure-test","target":"/garden/docker","text":"Docker"},{"source":"/garden/docker","target":"/garden/docker-desktop","text":"Docker Desktop"},{"source":"/garden/docker","target":"/garden/containerization","text":"Containerization"},{"source":"/garden/docker","target":"/garden/containerization","text":"Containerization"},{"source":"/garden/docker","target":"/garden/dev-container","text":"Dev Container"},{"source":"/garden/docker","target":"/garden/dive","text":"Dive"},{"source":"/garden/docker","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/garden/docker","target":"/garden/tool","text":"Tools"},{"source":"/blog/20171021-docker-details-dumb-init","target":"/garden/docker-swarm","text":"Docker Swarm"},{"source":"/blog/20171021-docker-details-dumb-init","target":"/garden/docker-compose","text":"Docker Compose"},{"source":"/blog/20171021-docker-details-dumb-init","target":"/garden/kubernetes","text":"Kubernetes"},{"source":"/blog/20110908-software-hazard-pay","target":"/garden/git","text":"Git"}]}