

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
1# AI agent rules for Firezone23## Summary45Firezone is a zero-trust access platform built on top of WireGuard.6The data plane components are built in Rust and reside in `rust/`.7The control plane components are built in Elixir and reside in `elixir/`.89## Data plane architecture1011At the core of the data plane resides a shared library called [`connlib`](../rust/libs/connlib).12It combines ICE (using the `is` library) and WireGuard (using the `boringtun` library) to establish on-the-fly tunnels between Clients and Gateways.13The entry-point for the data plane is [`Tunnel`](../rust/libs/connlib/tunnel) which acts as a big event-loop combining three components:1415- A platform-specific TUN device16- A sans-IO state component representing either the Client or the Gateway17- A platform-specific UDP socket1819Packets from IO sources (TUN device and UDP socket) are passed to the state component, resulting in a UDP or IP packet.20The state component also manages ICE through the [`snownet`](../rust/libs/connlib/snownet) library, so some UDP traffic is handled internally and does not yield an IP packet.2122These three components are split into multiple threads and connected via bounded channels:2324- 1 thread for reading from the TUN device25- 1 thread for writing to the TUN device26- 1 thread for handling IPv4 UDP traffic with 1 task each for sending / receiving27- 1 thread for handling IPv6 UDP traffic with 1 task each for sending / receiving28- 1 task on the "main" thread that holds the state and reads / writes from and to the channels connecting to the IO threads2930## Coding guidelines3132For guidelines on generating or reviewing specific parts of the codebase, check for an `AGENT.md` file in the corresponding sub-directory.33For example, for Rust code, check `rust/AGENT.md`; for Elixir code, check `elixir/AGENT.md`, etc.3435## Code review guidelines3637- Assume that code compiles and is syntactically correct.38- Focus on consistency and correctness.39- Give extra special attention to any security-sensitive code, such as cryptographic operations, authentication logic, and access control mechanisms.4041## Code contributions4243- Use [Conventional Commits](https://www.conventionalcommits.org/) for PR titles. The static analysis workflow enforces a maximum length of 64 characters (see `.github/workflows/_static-analysis.yml`).44- Keep PR descriptions minimal.45 - Concise prose explaining what is changing **at a high level** and why.46 - Do not describe the code changes that can be seen in the diff again in prose.47 - Do not add a test plan section.48 - Do not include links to the Claude session.49 - Link relevant PRs / issues using `Related: #XXXX`50 - Take inspiration from https://cbea.ms/git-commit; the squash-merged PRs will have the PR description as a commit message on main.51 However, do not add hard line-breaks to the PR description itself.52 GitHub will take care of that when merging.53- Run static analysis locally before committing.54- If a required tool is missing, check whether `mise.toml` declares it and install it via `mise` rather than through another package manager.55
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| dotCMS/corecore-web/CLAUDE.md · 949 | CLAUDE.md | teststylearchtesting-strategy+3 | 100/100 | 14 days ago | |
| tphakala/birdnet-goCLAUDE.md · 1.6k | CLAUDE.md | buildtestlint-formatstyle+8 | 100/100 | today | |
| tyrchen/geektime-bootcamp-aiw7/genslides/backend/CLAUDE.md · 230 | CLAUDE.md | testlint-formatstylearch+6 | 100/100 | 9 days ago | |
| nimbalyst/nimbalystpackages/android/CLAUDE.md · 1.5k | CLAUDE.md | setupbuildstylearch+2 | 100/100 | 14 days ago | |
| microsoft/playwrightCLAUDE.md · 95k | CLAUDE.md | buildtestlint-formatstyle+7 | 100/100 | 7 days ago | |
| Adit-Jain-srm/NightmareNetCLAUDE.md · 46 | CLAUDE.md | buildtestlint-formatstyle+6 | 100/100 | 14 days ago | |
| bagisto/bagistoCLAUDE.md · 28k | CLAUDE.md | setupbuildteststyle+5 | 100/100 | 7 days ago | |
| dotCMS/coreCLAUDE.md · 949 | CLAUDE.md | setupbuildteststyle+7 | 99/100 | today |
A badge carrying the measured quality of the strongest agent config file in this repository, out of 100. It reads from this index every time somebody loads your page, so it changes when the measurement changes and there is nothing to keep up to date. Free, no account, and the value is not something you or we can set by hand.
[](https://rulestack.kynth.studio/configs/firezone-firezone-claude)Would rather not hotlink us? Every badge is also served in shields.io’s endpoint schema, so shields renders the image and your readers never talk to our domain:
Published by Toolproof, the masthead over this index and eight others. The method behind the number is at toolproof.kynth.studio/methodology, and the whole thing is readable as JSON with no key at /api.