

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
1# Files Development Guidelines23This project is a C#/.NET WinUI 3 desktop app; an alternative to File Explorer.45- Protect context usage. Any command with unknown or potentially large output must be capped. Prefer targeted commands such as `rg`, `Get-Content -TotalCount`, `Select-Object -First`, or focused `git diff -- <path>`; for example, `COMMAND 2>&1 | Select-Object -First 200`. If a line cap is still too noisy, narrow the query instead of dumping full output.6- Always follow `.editorconfig`7- Keep changed text files in CRLF line endings8- Keep comments concise and useful. Do not add comments that restate obvious code.9- Never read entire generated files in `bin` or `obj` unless the generated source is directly needed.10- Prefer targeted search over full file reads.11- Touch only what you must. Clean up only files you created or changed for the task.12- Treat file operations, shell integration, drag/drop, preview handlers, archive actions, settings persistence, and localization as high-risk areas.13- For Win32, COM, Shell, clipboard, hotkey, and file operation interop, prefer `src/Files.App.CsWin32`, `NativeMethods.txt`, and existing wrappers/helpers.14- Avoid ad hoc P/Invoke declarations when CsWin32 or existing interop code can cover the API.15- Do not edit generated CsWin32 output directly. Update source declarations, wrappers, or generator inputs instead.16- For UI work, use existing XAML resources, controls, converters, commands, and localization patterns. Avoid one-off styles or hard-coded user-visible strings.17- Start by identifying the smallest relevant project, feature area, and files for the task.18- Read nearby code before adding new abstractions. Prefer existing WinUI, MVVM, service, command, and storage patterns.19- Keep implementation scoped to the requested behavior. Avoid opportunistic refactors, formatting churn, dependency updates, and generated file edits.20- Treat tool output as evidence. When behavior changes, run the focused build that can prove it and report anything left unverified.2122## Codebase Structure2324```text25/src26├── Files.App Main WinUI app27├── Files.App.Controls Shared app controls28├── Files.App.Storage App storage abstractions and implementations29├── Files.App.CsWin32 Generated/native Win32 interop project30├── Files.App.BackgroundTasks Background task project31├── Files.App.Server App service/server project32├── Files.Core.SourceGenerator Roslyn source generators and analyzers33├── Files.Core.Storage Core storage abstractions34└── Files.Shared Shared attributes, extensions, and common code35```3637```text38/tests39├── Files.App.UITests40├── Files.App.UnitTests41└── Files.InteractionTests42```4344## Build4546Prefer explicit platform/configuration builds.47Unless the task is specifically about resolving or inspecting warnings, add `-v:quiet -clp:ErrorsOnly` to `msbuild` commands so the log proves success or shows only actionable errors.4849```powershell50msbuild -restore Files.slnx -p:Configuration=Debug -p:Platform=x64 -v:quiet -clp:ErrorsOnly51```5253If `msbuild` isn't available in the current shell, run it from Visual Studio Developer PowerShell. Match `-arch`, `-host_arch`, and `-p:Platform` to the platform you're verifying; use `x64` for x64 work and `arm64` for ARM64 work.5455```powershell56pwsh.exe -NoProfile -Command "& {57 Import-Module 'C:\Program Files\Microsoft Visual Studio\18\Professional\Common7\Tools\Microsoft.VisualStudio.DevShell.dll'58 Enter-VsDevShell 1ba2cc4e -SkipAutomaticLocation -DevCmdArguments '-arch=x64 -host_arch=x64'59 msbuild -restore src/Files.App/Files.App.csproj -p:Configuration=Debug -p:Platform=x64 -v:quiet -clp:ErrorsOnly60}"61```6263For focused C# work, build the affected project first.64Do not run build commands in parallel.6566```powershell67msbuild -restore src/Files.Shared/Files.Shared.csproj -p:Configuration=Debug -p:Platform=x64 -v:quiet -clp:ErrorsOnly68msbuild -restore src/Files.Core.SourceGenerator/Files.Core.SourceGenerator.csproj -p:Configuration=Debug -p:Platform=x64 -v:quiet -clp:ErrorsOnly69msbuild -restore src/Files.App/Files.App.csproj -p:Configuration=Debug -p:Platform=x64 -v:quiet -clp:ErrorsOnly70```7172## Test7374We currently don't have a suitable set of tests for AI agents. Just make sure that the builds succeed.7576## Commit & Push7778When asked to commit, run these commands beforehand:7980```powershell81git status --short82git diff --check83```8485Do not revert unrelated user changes. Stage only files that belong to the requested change.8687Use concise commit messages that describe the behavior change, for example:8889```text90Add source-generated settings storage91```9293## Open a PR9495When asked to open a PR, use a short PR title that names the behavior, not the implementation mechanics only, and prepend the PR type:9697- "Fix": use this prefix when the linked issue is a bug98- "Feature": use this prefix when the linked issue is a feature request99- "Code Quality": anything else100101The repository maintainers draft release notes based on these PR types: only fixes and feature requests are listed.102103Good examples:104105```text106Fix: Fixed an issue where thumbnails wouldn't refresh when a file was updated107Feature: Add support for previewing AVI files in the Preview Pane108Code Quality: Add source-generated settings serialization109```110111For the PR body, follow `./.github/PULL_REQUEST_TEMPLATE.md`.112
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| vllm-project/vllmAGENTS.md · 89k | AGENTS.md | setuptestlint-formatstyle+5 | 100/100 | 14 days ago | |
| duckduckgo/content-scope-scriptsspecial-pages/AGENTS.md · 70 | AGENTS.md | buildteststylearch+3 | 100/100 | 14 days ago | |
| TryGhost/Ghoste2e/AGENTS.md · 55k | AGENTS.md | setupteststylearch+2 | 100/100 | today | |
| deepseek-ai/deepseek-harnessnative/landlock-run/AGENTS.md · 104k | AGENTS.md | setupteststylearch+3 | 100/100 | today | |
| aaif-goose/gooseAGENTS.md · 53k | AGENTS.md | setupbuildtestlint-format+7 | 100/100 | 8 days ago | |
| n8n-io/n8npackages/@n8n/agents/AGENTS.md · 201k | AGENTS.md | buildteststylearch+3 | 100/100 | 14 days ago | |
| code-yeongyu/oh-my-openagentpackages/web/AGENTS.md · 68k | AGENTS.md | setupbuildtestlint-format+6 | 100/100 | 13 days ago | |
| mui/material-uiAGENTS.md · 99k | AGENTS.md | setupbuildtestlint-format+9 | 100/100 | 14 days ago |
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/files-community-files-agents)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.