[
  {
    "path": ".editorconfig",
    "content": "root = true\n\n[*]\ncharset = utf-8\nend_of_line = lf\nindent_size = 4\nindent_style = space\ninsert_final_newline = true\ntrim_trailing_whitespace = true\n\n[*.nix]\nindent_size = 2\n\n[{Makefile,*.mk}]\nindent_style = tab\n\n[{*.yaml,*.yml}]\nindent_size = 2\n"
  },
  {
    "path": ".envrc",
    "content": "if ! has nix_direnv_version || ! nix_direnv_version 2.3.0; then\n  source_url \"https://raw.githubusercontent.com/nix-community/nix-direnv/2.3.0/direnvrc\" \"sha256-Dmd+j63L84wuzgyjITIfSxSD57Tx7v51DMxVZOsiUD8=\"\nfi\nuse flake . --impure\n"
  },
  {
    "path": ".github/.editorconfig",
    "content": "[{*.yaml,*.yml}]\nindent_size = 2\n"
  },
  {
    "path": ".github/dependabot.yaml",
    "content": "version: 2\n\nupdates:\n  - package-ecosystem: github-actions\n    directory: /\n    schedule:\n      interval: daily\n"
  },
  {
    "path": ".github/workflows/generate.yaml",
    "content": "name: Generate\n\non:\n  push:\n    branches: [main]\n  pull_request:\n  workflow_dispatch:\n\npermissions:\n  contents: read\n\njobs:\n  readme:\n    name: README.md\n    runs-on: ubuntu-latest\n\n    permissions:\n      contents: write\n\n    steps:\n      - name: Checkout repository\n        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2\n\n      - name: Set up Nix\n        uses: cachix/install-nix-action@3715ab1a11cac9e991980d7b4a28d80c7ebdd8f9 # v27\n        with:\n          extra_nix_config: |\n            access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}\n\n      - name: Set up magic Nix cache\n        uses: DeterminateSystems/magic-nix-cache-action@87b14cf437d03d37989d87f0fa5ce4f5dc1a330b # v8\n\n      - name: Prepare Nix shell\n        run: nix develop --impure .#ci\n\n      - name: Regenerate README\n        run: nix develop --impure .#ci -c make generate\n\n      - name: Commit changes\n        uses: stefanzweifel/git-auto-commit-action@v5\n        with:\n          commit_message: Regenerate README.md\n          file_pattern: README.md\n        if: github.event_name == 'push'\n"
  },
  {
    "path": ".gitignore",
    "content": "/.devenv/\n/.direnv/\n/bin/\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "# Contributing\n\nThank you for contributing to this project! ❤️\n\nPlease take a few minutes to read this guide before opening a pull request.\n\nThe purpose of this project is to help people find resources related to the recently\n(as of the time of this writing) added `log/slog` package to the standard library.\n\nIf you find something useful or create a resource yourself, feel free to add it to this list.\n\n## Development\n\n**For an optimal developer experience, it is recommended to install [Nix](https://nixos.org/download.html) and [direnv](https://direnv.net/docs/installation.html).**\n\nIf you do not wish to install Nix, you can install the dependencies by running:\n\n```shell\nmake deps\n```\n\n## Adding a new resource to the list\n\nIf your intended resource clearly fits into an existing category, feel free to open a pull request.\n\nIf there is no clear match, please open an issue first to discuss where it should be added (or whether a new category should be created).\n\nAdd the following details to the `data.yaml` file:\n\n- Name (this is generally the name of the package/repository)\n- Link to the resource\n- Description\n\nPlease make sure to maintain an alphabetical order.\n\nOnce you have added your resource, regenerate the `README.md` file:\n\n```shell\nmake generate\n```\n\n> [!TIP]\n> `README.md` is automatically generated from `data.yaml`.\n> You can skip running `make generate` locally if you do not have the required dependencies installed.\n\nOpen a pull request on GitHub.\n\n## What constitutes a \"resource\"?\n\nAnything that may be useful for people trying to use `log/slog`.\n\nGenerally, these are libraries, but there are blog posts and other types of resources that may be useful.\n\nIf you are unsure if something has a place here or not, feel free to open an issue to discuss.\n"
  },
  {
    "path": "Makefile",
    "content": "# A Self-Documenting Makefile: http://marmelab.com/blog/2016/02/29/auto-documented-makefile.html\n\nexport PATH := $(abspath bin/):${PATH}\n\nGOMPLATE_VERSION := 3.11.5\n\n.PHONY: generate\ngenerate: ## Generate README.md\n\tgomplate --datasource contents=./data.yaml --file README.tmpl.md > README.md\n\n.PHONY: deps\ndeps: bin/gomplate\ndeps: ## Install dependencies\n\nbin/gomplate:\n\t@mkdir -p bin/\n\tcurl -fsSLo bin/gomplate https://github.com/hairyhenderson/gomplate/releases/download/v$(GOMPLATE_VERSION)/gomplate_$(shell uname -s | tr '[:upper:]' '[:lower:]')-$(shell uname -m)\n\t@chmod +x bin/gomplate\n\n.PHONY: list\nlist: ## List all make targets\n\t@$(MAKE) -pRrn : -f $(MAKEFILE_LIST) 2>/dev/null | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ \"^[#.]\") {print $$1}}' | egrep -v -e '^[^[:alnum:]]' -e '^$@$$' | sort\n\n.PHONY: help\n.DEFAULT_GOAL := help\nhelp:\n\t@grep -h -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = \":.*?## \"}; {printf \"\\033[36m%-30s\\033[0m %s\\n\", $$1, $$2}'\n"
  },
  {
    "path": "README.md",
    "content": "# Awesome slog\n\n**Collection of [log/slog](https://pkg.go.dev/log/slog) related projects.**\n\n_Do you have something to add? Please read the [contributing guide](CONTRIBUTING.md) and open a pull request._\n\n## Contents\n\n- [General](#general)\n- [Formatting](#formatting)\n- [Enrichment](#enrichment)\n- [Log forwarding](#log-forwarding)\n- [Adapters](#adapters)\n- [Integrations](#integrations)\n- [Testing](#testing)\n- [Resources](#resources)\n  - [Blog posts](#blog-posts)\n  - [Creating slog](#creating-slog)\n\n## General\n\n_General purpose handlers and integrations._\n\n- [dynamic-level-handler](https://github.com/gekatateam/dynamic-level-handler): Wrapper for `slog.Handler` that supports level override for concrete logger.\n- [slog-handler-override](https://github.com/martin-viggiano/slog-level-override): A `slog.Handler` wrapper that allows runtime override of any handler's log level.\n- [slog-exp](https://github.com/smallnest/slog-exp): Individual log files for levels, Wrapping ReplaceAttr, displaying goroutine id, etc.\n- [slog-multi](https://github.com/samber/slog-multi): Chaining handlers (pipe, router, fanout, etc).\n- [slog-sampling](https://github.com/samber/slog-sampling): Drop repetitive log entries.\n- [slog-shim](https://github.com/sagikazarmark/slog-shim): Backward compatible slog support for Go <1.21.\n- [slogbuffer](https://github.com/delicb/slogbuffer): Buffer log records until real handler is defined.\n- [slogscope](https://github.com/apperia-de/slogscope): Package based log levels for more fine grained control over logging behavior in large project.\n- [sloggen](https://github.com/go-simpler/sloggen): Generate various helpers.\n- [sloglint](https://github.com/go-simpler/sloglint): Ensure consistent code style.\n\n**[⬆ back to top](#contents)**\n\n## Formatting\n\n_Record and output formatters._\n\n- [console-slog](https://github.com/phsym/console-slog): Handler that prints colorized logs, similar to zerolog's console writer output without sacrificing performances.\n- [devslog](https://github.com/golang-cz/devslog): Format logs for development.\n- [golog](https://github.com/primalskill/golog): Development, discard and production handlers with sensible formatting.\n- [slog-formatter](https://github.com/samber/slog-formatter): Common formatters for slog + helpers for building your own.\n- [slogcolor](https://github.com/MatusOllah/slogcolor): Color handler for log/slog.\n- [slogor](https://gitlab.com/greyxor/slogor): A colorful slog handler.\n- [slogpfx](https://github.com/dpotapov/slogpfx): Easily prefix your log messages with attributes from the log record.\n- [tint](https://github.com/lmittmann/tint): Handler that writes tinted logs.\n- [zlog](https://github.com/jeffry-luqman/zlog): Handler that writes beautiful, human readable logs.\n- [zlog](https://github.com/icefed/zlog): Human-friendly output like zap development, json structured logging with more features for slog.\n\n**[⬆ back to top](#contents)**\n\n## Enrichment\n\n_Handlers enriching log records._\n\n- [masq](https://github.com/m-mizutani/masq): Redact sensitive data in logs.\n- [otelslog](https://github.com/go-slog/otelslog): Handler attaching OpenTelemetry trace and resource details to logs.\n- [slog-aws-lambda](https://github.com/jbleduigou/slog-aws-lambda): Handler for AWS Lambda Functions.\n- [slog-context](https://github.com/PumpkinSeed/slog-context): Attach arbitrary key-value pairs to log records through context.\n- [slog-otel](https://github.com/remychantenay/slog-otel): Correlation between slog log records and Open-Telemetry traces.\n\n**[⬆ back to top](#contents)**\n\n## Log forwarding\n\n_Handlers forwarding logs._\n\n- [slog-clickhouse](https://github.com/smallnest/slog-clickhouse): Handler forwarding logs to ClickHouse.\n- [slog-datadog](https://github.com/samber/slog-datadog): Handler forwarding logs to Datadog.\n- [slogdriver](https://github.com/jussi-kalliokoski/slogdriver): Handler forwarding logs to Stackdriver / GCP Cloud Logging.\n- [slog-fluentd](https://github.com/samber/slog-fluentd): Handler forwarding logs to FluentD.\n- [slog-graylog](https://github.com/samber/slog-graylog): Handler forwarding logs to Graylog.\n- [slog-kafka](https://github.com/samber/slog-kafka): Handler forwarding logs to Kafka.\n- [slog-logstash](https://github.com/samber/slog-logstash): Handler forwarding logs to Logstash.\n- [slog-loki](https://github.com/samber/slog-loki): Handler forwarding logs to Loki.\n- [slog-mattermost](https://github.com/samber/slog-mattermost): Handler forwarding logs to Mattermost.\n- [slog-microsoft-teams](https://github.com/samber/slog-microsoft-teams): Handler forwarding logs to Microsoft Teams.\n- [slog-parquet](https://github.com/samber/slog-parquet): Handler forwarding logs to an object store in parquet format.\n- [slog-pushover](https://github.com/SkYNewZ/slog-pushover): Handler forwarding logs to Pushover.\n- [slog-rollbar](https://github.com/samber/slog-rollbar): Handler forwarding logs to Rollbar.\n- [slog-sentry](https://github.com/samber/slog-sentry): Handler forwarding logs to Sentry.\n- [slog-slack](https://github.com/samber/slog-slack): Handler forwarding logs to Slack.\n- [slog-syslog](https://github.com/samber/slog-syslog): Handler forwarding logs to Syslog.\n- [slog-telegram](https://github.com/samber/slog-telegram): Handler forwarding logs to Telegram.\n- [slog-webhook](https://github.com/samber/slog-webhook): Handler forwarding logs to a Webhook.\n\n**[⬆ back to top](#contents)**\n\n## Adapters\n\n_Adapters for other logging libraries._\n\n- [go-hclog-slog](https://github.com/evanphx/go-hclog-slog): Handler adapter for hclog.\n- [gslog](https://github.com/maguro/gslog): Handler adapter for Google Cloud Logging.\n- [slogan](https://github.com/openclosed-dev/slogan): Handler adapter for Azure Application Insights.\n- [slog-gokit](https://github.com/tjhop/slog-gokit): Go slog handler adapter for go-kit/log.\n- [slog-logrus](https://github.com/samber/slog-logrus): Handler adapter for logrus.\n- [slog-zap](https://github.com/samber/slog-zap): Handler adapter for zap.\n- [slog-zerolog](https://github.com/samber/slog-zerolog): Handler adapter for zerolog.\n- [zaphandler](https://github.com/chanchal1987/zaphandler): Handler adapter for Zap.\n\n**[⬆ back to top](#contents)**\n\n## Integrations\n\n_`log/slog` integrations into third-party components._\n\n- [ginslog](https://github.com/FabienMht/ginslog): A fully featured Gin middleware.\n- [shclog](https://github.com/ValerySidorin/shclog): Hclog adapter for slog.\n- [slog-chi](https://github.com/samber/slog-chi): Chi middleware.\n- [slog-echo](https://github.com/samber/slog-echo): Echo middleware.\n- [slog-fiber](https://github.com/samber/slog-fiber): Fiber middleware.\n- [slog-gin](https://github.com/samber/slog-gin): Gin middleware.\n\n**[⬆ back to top](#contents)**\n\n## Testing\n\n_Testing utilities for `log/slog`._\n\n- [slogassert](https://github.com/thejerf/slogassert): slog handler for testing slog code logs expected results.\n- [slogt](https://github.com/neilotoole/slogt): Bridge between Go `testing.T` and `log/slog`.\n\n**[⬆ back to top](#contents)**\n\n## Resources\n\n_Other resources about `log/slog`._\n\n- [Reference documentation](https://pkg.go.dev/log/slog)\n- [Introductory blog post](https://go.dev/blog/slog)\n- [Golang Wiki page](https://go.dev/wiki/Resources-for-slog)\n\n**[⬆ back to top](#contents)**\n\n### Blog posts\n\n_Blog posts about `log/slog`._\n\n\n**[⬆ back to top](#contents)**\n\n### Creating slog\n\n_Resources documenting the creation of `log/slog`._\n\n- [Original design proposal](https://go.googlesource.com/proposal/+/master/design/56345-structured-logging.md)\n- [Initial discussion](https://github.com/golang/go/discussions/54763)\n- [Proposal issue](https://github.com/golang/go/issues/56345)\n\n**[⬆ back to top](#contents)**\n\n"
  },
  {
    "path": "README.tmpl.md",
    "content": "# Awesome slog\n\n**Collection of [log/slog](https://pkg.go.dev/log/slog) related projects.**\n\n_Do you have something to add? Please read the [contributing guide](CONTRIBUTING.md) and open a pull request._\n\n## Contents\n\n{{ range (datasource \"contents\").categories -}}\n- [{{ .name }}](#{{ .name | strings.Slug }})\n{{- if coll.Has . \"categories\" }}\n{{- with .categories }}\n{{- range . }}\n  - [{{ .name }}](#{{ .name | strings.Slug }})\n{{- end }}\n{{- end }}\n{{- end }}\n{{ end -}}\n\n{{ range (datasource \"contents\").categories }}\n## {{ .name }}\n\n_{{ .description }}_\n\n{{ range .items -}}\n- [{{ .name }}]({{ .link }}){{ with .description }}: {{ . }}{{ end }}\n{{ end }}\n**[⬆ back to top](#contents)**\n\n{{- if coll.Has . \"categories\" }}\n{{- with .categories }}\n{{ range . }}\n### {{ .name }}\n\n_{{ .description }}_\n\n{{ range .items -}}\n- [{{ .name }}]({{ .link }}){{ with .description }}: {{ . }}{{ end }}\n{{ end }}\n**[⬆ back to top](#contents)**\n{{ end }}\n{{- end }}\n{{- end }}\n{{ end -}}\n"
  },
  {
    "path": "data.yaml",
    "content": "categories:\n  - name: General\n    description: General purpose handlers and integrations.\n    items:\n      - name: dynamic-level-handler\n        link: https://github.com/gekatateam/dynamic-level-handler\n        description: Wrapper for `slog.Handler` that supports level override for concrete logger.\n\n      - name: slog-handler-override\n        link: https://github.com/martin-viggiano/slog-level-override\n        description: A `slog.Handler` wrapper that allows runtime override of any handler's log level.\n\n      - name: slog-exp\n        link: https://github.com/smallnest/slog-exp\n        description: Individual log files for levels, Wrapping ReplaceAttr, displaying goroutine id, etc.\n\n      - name: slog-multi\n        link: https://github.com/samber/slog-multi\n        description: Chaining handlers (pipe, router, fanout, etc).\n\n      - name: slog-sampling\n        link: https://github.com/samber/slog-sampling\n        description: Drop repetitive log entries.\n\n      - name: slog-shim\n        link: https://github.com/sagikazarmark/slog-shim\n        description: Backward compatible slog support for Go <1.21.\n\n      - name: slogbuffer\n        link: https://github.com/delicb/slogbuffer\n        description: Buffer log records until real handler is defined.\n\n      - name: slogscope\n        link: https://github.com/apperia-de/slogscope\n        description: Package based log levels for more fine grained control over logging behavior in large project.\n\n      # Potential new category: Extensions?\n      - name: sloggen\n        link: https://github.com/go-simpler/sloggen\n        description: Generate various helpers.\n\n      - name: sloglint\n        link: https://github.com/go-simpler/sloglint\n        description: Ensure consistent code style.\n\n  - name: Formatting\n    description: Record and output formatters.\n    items:\n      - name: console-slog\n        link: https://github.com/phsym/console-slog\n        description: Handler that prints colorized logs, similar to zerolog's console writer output without sacrificing performances.\n\n      - name: devslog\n        link: https://github.com/golang-cz/devslog\n        description: Format logs for development.\n\n      - name: golog\n        link: https://github.com/primalskill/golog\n        description: Development, discard and production handlers with sensible formatting.\n\n      - name: slog-formatter\n        link: https://github.com/samber/slog-formatter\n        description: Common formatters for slog + helpers for building your own.\n\n      - name: slogcolor\n        link: https://github.com/MatusOllah/slogcolor\n        description: Color handler for log/slog.\n\n      - name: slogor\n        link: https://gitlab.com/greyxor/slogor\n        description: A colorful slog handler.\n\n      - name: slogpfx\n        link: https://github.com/dpotapov/slogpfx\n        description: Easily prefix your log messages with attributes from the log record.\n\n      - name: tint\n        link: https://github.com/lmittmann/tint\n        description: Handler that writes tinted logs.\n\n      - name: zlog\n        link: https://github.com/jeffry-luqman/zlog\n        description: Handler that writes beautiful, human readable logs.\n\n      - name: zlog\n        link: https://github.com/icefed/zlog\n        description: Human-friendly output like zap development, json structured logging with more features for slog.\n\n  - name: Enrichment\n    description: Handlers enriching log records.\n    items:\n      - name: masq\n        link: https://github.com/m-mizutani/masq\n        description: Redact sensitive data in logs.\n\n      - name: otelslog\n        link: https://github.com/go-slog/otelslog\n        description: Handler attaching OpenTelemetry trace and resource details to logs.\n\n      - name: slog-aws-lambda\n        link: https://github.com/jbleduigou/slog-aws-lambda\n        description: Handler for AWS Lambda Functions.\n\n      - name: slog-context\n        link: https://github.com/PumpkinSeed/slog-context\n        description: Attach arbitrary key-value pairs to log records through context.\n\n      - name: slog-otel\n        link: https://github.com/remychantenay/slog-otel\n        description: Correlation between slog log records and Open-Telemetry traces.\n\n  - name: Log forwarding\n    description: Handlers forwarding logs.\n    items:\n      - name: slog-clickhouse\n        link: https://github.com/smallnest/slog-clickhouse\n        description: Handler forwarding logs to ClickHouse.\n\n      - name: slog-datadog\n        link: https://github.com/samber/slog-datadog\n        description: Handler forwarding logs to Datadog.\n\n      - name: slogdriver\n        link: https://github.com/jussi-kalliokoski/slogdriver\n        description: Handler forwarding logs to Stackdriver / GCP Cloud Logging.\n\n      - name: slog-fluentd\n        link: https://github.com/samber/slog-fluentd\n        description: Handler forwarding logs to FluentD.\n\n      - name: slog-graylog\n        link: https://github.com/samber/slog-graylog\n        description: Handler forwarding logs to Graylog.\n\n      - name: slog-kafka\n        link: https://github.com/samber/slog-kafka\n        description: Handler forwarding logs to Kafka.\n\n      - name: slog-logstash\n        link: https://github.com/samber/slog-logstash\n        description: Handler forwarding logs to Logstash.\n\n      - name: slog-loki\n        link: https://github.com/samber/slog-loki\n        description: Handler forwarding logs to Loki.\n\n      - name: slog-mattermost\n        link: https://github.com/samber/slog-mattermost\n        description: Handler forwarding logs to Mattermost.\n\n      - name: slog-microsoft-teams\n        link: https://github.com/samber/slog-microsoft-teams\n        description: Handler forwarding logs to Microsoft Teams.\n\n      - name: slog-parquet\n        link: https://github.com/samber/slog-parquet\n        description: Handler forwarding logs to an object store in parquet format.\n\n      - name: slog-pushover\n        link: https://github.com/SkYNewZ/slog-pushover\n        description: Handler forwarding logs to Pushover.\n\n      - name: slog-rollbar\n        link: https://github.com/samber/slog-rollbar\n        description: Handler forwarding logs to Rollbar.\n\n      - name: slog-sentry\n        link: https://github.com/samber/slog-sentry\n        description: Handler forwarding logs to Sentry.\n\n      - name: slog-slack\n        link: https://github.com/samber/slog-slack\n        description: Handler forwarding logs to Slack.\n\n      - name: slog-syslog\n        link: https://github.com/samber/slog-syslog\n        description: Handler forwarding logs to Syslog.\n\n      - name: slog-telegram\n        link: https://github.com/samber/slog-telegram\n        description: Handler forwarding logs to Telegram.\n\n      - name: slog-webhook\n        link: https://github.com/samber/slog-webhook\n        description: Handler forwarding logs to a Webhook.\n\n  - name: Adapters\n    description: Adapters for other logging libraries.\n    items:\n      - name: go-hclog-slog\n        link: https://github.com/evanphx/go-hclog-slog\n        description: Handler adapter for hclog.\n\n      - name: gslog\n        link: https://github.com/maguro/gslog\n        description: Handler adapter for Google Cloud Logging.\n\n      - name: slogan\n        link: https://github.com/openclosed-dev/slogan\n        description: Handler adapter for Azure Application Insights.\n\n      - name: slog-gokit\n        link: https://github.com/tjhop/slog-gokit\n        description: Go slog handler adapter for go-kit/log.\n\n      - name: slog-logrus\n        link: https://github.com/samber/slog-logrus\n        description: Handler adapter for logrus.\n\n      - name: slog-zap\n        link: https://github.com/samber/slog-zap\n        description: Handler adapter for zap.\n\n      - name: slog-zerolog\n        link: https://github.com/samber/slog-zerolog\n        description: Handler adapter for zerolog.\n\n      - name: zaphandler\n        link: https://github.com/chanchal1987/zaphandler\n        description: Handler adapter for Zap.\n\n  - name: Integrations\n    description: \"`log/slog` integrations into third-party components.\"\n    items:\n      - name: ginslog\n        link: https://github.com/FabienMht/ginslog\n        description: A fully featured Gin middleware.\n\n      - name: shclog\n        link: https://github.com/ValerySidorin/shclog\n        description: Hclog adapter for slog.\n\n      - name: slog-chi\n        link: https://github.com/samber/slog-chi\n        description: Chi middleware.\n\n      - name: slog-echo\n        link: https://github.com/samber/slog-echo\n        description: Echo middleware.\n\n      - name: slog-fiber\n        link: https://github.com/samber/slog-fiber\n        description: Fiber middleware.\n\n      - name: slog-gin\n        link: https://github.com/samber/slog-gin\n        description: Gin middleware.\n\n  - name: Testing\n    description: Testing utilities for `log/slog`.\n    items:\n      - name: slogassert\n        link: https://github.com/thejerf/slogassert\n        description: slog handler for testing slog code logs expected results.\n\n      - name: slogt\n        link: https://github.com/neilotoole/slogt\n        description: Bridge between Go `testing.T` and `log/slog`.\n\n  - name: Resources\n    description: \"Other resources about `log/slog`.\"\n    items:\n      - name: Reference documentation\n        link: https://pkg.go.dev/log/slog\n        description:\n\n      - name: Introductory blog post\n        link: https://go.dev/blog/slog\n        description:\n\n      - name: Golang Wiki page\n        link: https://go.dev/wiki/Resources-for-slog\n        description:\n\n    categories:\n      - name: Blog posts\n        description: \"Blog posts about `log/slog`.\"\n        items: []\n\n      - name: Creating slog\n        description: \"Resources documenting the creation of `log/slog`.\"\n        items:\n          - name: Original design proposal\n            link: https://go.googlesource.com/proposal/+/master/design/56345-structured-logging.md\n            description:\n\n          - name: Initial discussion\n            link: https://github.com/golang/go/discussions/54763\n            description:\n\n          - name: Proposal issue\n            link: https://github.com/golang/go/issues/56345\n            description:\n"
  },
  {
    "path": "flake.nix",
    "content": "{\n  inputs = {\n    nixpkgs.url = \"github:NixOS/nixpkgs/nixpkgs-unstable\";\n    flake-parts.url = \"github:hercules-ci/flake-parts\";\n    devenv.url = \"github:cachix/devenv\";\n  };\n\n  outputs = inputs@{ flake-parts, ... }:\n    flake-parts.lib.mkFlake { inherit inputs; } {\n      imports = [\n        inputs.devenv.flakeModule\n      ];\n\n      systems = [ \"x86_64-linux\" \"x86_64-darwin\" \"aarch64-darwin\" ];\n\n      perSystem = { config, self', inputs', pkgs, system, ... }: rec {\n        devenv.shells = {\n          default = {\n            packages = with pkgs; [\n              gomplate\n            ] ++ [ ];\n\n            # https://github.com/cachix/devenv/issues/528#issuecomment-1556108767\n            containers = pkgs.lib.mkForce { };\n          };\n\n          ci = devenv.shells.default;\n        };\n      };\n    };\n}\n"
  }
]