agentreadme

Report · marked 25 Aug 2026

IceWhaleTech/CasaOS

An agent can work here, but it will waste turns finding its footing.

Go · 37,137 stars · 207 files · branch main

Fix these first

01
Agent instruction file
Add an AGENTS.md at the root: what the project is, how to install, how to run, how to test, and the two or three conventions a newcomer always gets wrong.
02
Instruction quality
Instructions earn their keep by naming exact commands. 'Run the tests with `pnpm test`' beats three paragraphs of philosophy.
03
Environment config
Add a .env.example listing every variable with a safe placeholder value. It's the cheapest possible fix and it unblocks the whole first run.

The full marking

Every deduction below names the file or setting it came from.

Instructions 3/27 F

Whether the repo tells an agent how to behave before it starts guessing.

Agent instruction file 0/12
None found. Every agent that opens this repo starts from zero.
Add an AGENTS.md at the root: what the project is, how to install, how to run, how to test, and the two or three conventions a newcomer always gets wrong.
Looked for AGENTS.md, CLAUDE.md, .github/copilot-instructions.md, .cursorrules
Instruction quality 0/12
Nothing to judge, since there are no instructions.
Instructions earn their keep by naming exact commands. 'Run the tests with `pnpm test`' beats three paragraphs of philosophy.
README as an entry point 3/3
README has a clear getting-started section.
Setup 14/20 B+

Whether an agent can install the project and get it running without a human.

Deterministic install 6/6
go.sum pins the dependency tree.
Found go.sum
Discoverable commands 6/6
Commands are declared where an agent will look for them.
package.json scripts (clean, build, generate:local, generate:npx, generate:ts, start)
Makefile
Environment config 0/4
Nothing documents the environment this needs. An agent will get a runtime error it can't diagnose.
Add a .env.example listing every variable with a safe placeholder value. It's the cheapest possible fix and it unblocks the whole first run.
Pinned runtime version 2/2
The language runtime version is pinned.
go.mod declares a Go version
Reproducible environment 0/2
No container or devcontainer definition.
A Dockerfile or devcontainer removes an entire class of 'it won't install' failures.
Verification loop 15/22 B

Whether an agent can check its own work. This is the category that most decides whether agent output is trustworthy.

Tests exist 4/8
8 test files against 164 source files.
Coverage is thin enough that an agent can break real behavior and still see green.
e.g. pkg/sqlite/db_test.go, pkg/utils/file/file_test.go, pkg/utils/ip_helper/ip_test.go
Test command is discoverable 7/7
An agent can find and run `go test ./...`.
Continuous integration 4/4
10 GitHub Actions workflows define what "passing" means.
Lint and format rules 0/3
No linter or formatter config. Style is tribal knowledge, so agent output will drift from yours.
A formatter config is the cheapest way to stop reviewing whitespace in agent diffs. It moves style from opinion to a command.
Static type checking n/a
Not applicable — the Go compiler type checks every build.
Context economy 17/20 A

Whether the repo fits in a context window, or fights it.

No committed build output 6/6
No generated directories committed.
.gitignore hygiene 3/3
.gitignore covers 27 patterns.
File sizes fit in context 6/6
No source file is large enough to crowd out a context window.
Repository weight 2/5
About 183MB checked out. Large enough that cloning and searching are both slow.
Large binaries and vendored trees slow every operation an agent performs. Git LFS or a separate assets repo keeps the working tree navigable.

Here is your AGENTS.md

Drafted from what is actually in this repository: the install command from your lockfile, the commands you already declare, your real directory layout. Anything marked TODO needs a person. Save it at the root as AGENTS.md.

AGENTS.md — drafted for IceWhaleTech/CasaOS
# AGENTS.md

CasaOS - A simple, easy-to-use, elegant open-source Personal Cloud system.

## Setup

```
go mod download
```

## Commands

```
go start            # run the app
go build            # produce a build
go clean
go generate:local
go generate:npx
go generate:ts
```

## Layout

- `pkg/`     38 source files
- `model/`   26 source files
- `service/` 23 source files
- `route/`   20 source files
- `build/`   18 source files
- `drivers/` 14 source files

## Conventions

- Tests live alongside the code they cover, following `pkg/sqlite/db_test.go`.
- TypeScript runs in strict mode. Type errors are the fastest feedback available, so do not weaken it.
- CI defines what passing means. See `.github/workflows/add_issues_to_projects.yml`, and keep it green.
- TODO: add the two or three conventions a newcomer always gets wrong here.

## Gotchas

- Generated output is committed (`build/`). Search will return the compiled copy, so edit the source, not that.

---

Drafted by agentreadme.com from what is in this repository. Everything marked TODO
needs a human. Check it in as AGENTS.md at the root.

Open the raw markdown  or  curl -o AGENTS.md agentreadme.com/draft/IceWhaleTech/CasaOS.md

Show the mark

The badge re-checks daily, so it keeps up as the repository changes. Use mark again to force it now.

agent ready 58 out of 100

[![agent ready](https://agentreadme.com/badge/IceWhaleTech/CasaOS.svg)](https://agentreadme.com/IceWhaleTech/CasaOS)

Other Go repositories, marked

avelino/awesome-go 78 A- ollama/ollama 85 A golang/go 30 D kubernetes/kubernetes 72 B+ microsoft/TypeScript 82 A- fatedier/frp 96 A+

All Go repositories

Think this mark is wrong?

Every deduction above names the file it came from, so this can be settled by looking. If a check missed something, that is a rule worth fixing.

Open an issue, already filled in