docs/README.md
PicoClaw documentation is organized by document type first and language second.
This file describes the recommended documentation layout, how translated files should be named, and what make lint-docs currently checks locally.
These conventions are intended as contributor guidance for new or moved docs. Existing docs may still have historical exceptions, and make lint-docs only checks a common subset of the patterns described here.
If you are browsing docs rather than reorganizing them, start with these directory indexes:
For channel-specific setup, start with Chat Apps Configuration and then drill into docs/channels/<name>/README.md as needed.
docs/zh/ or docs/fr/.configuration.zh.md or README.pt-br.md.docs/.README.md: English project entry document at the repository root.docs/project/: translated project entry documents such as README.zh.md and CONTRIBUTING.zh.md.docs/guides/: setup and usage guides.docs/reference/: reference material and detailed configuration docs.docs/operations/: debugging and troubleshooting docs.docs/security/: security-related documentation.docs/architecture/: architecture and internal design notes.docs/channels/: channel-specific integration guides.docs/design/: design proposals and investigations.docs/migration/: migration notes.README.mdconfiguration.md.<locale>.md:
README.zh.mdconfiguration.fr.mdREADME.pt-br.mdpkg/audio/asr/README.zh.mdpkg/isolation/README.zh.mdREADME.zh.md or CONTRIBUTING.fr.md
docs/project/README.zh.md or docs/project/CONTRIBUTING.fr.md instead.docs/ such as docs/zh/, docs/ZH/, docs/ja/, or docs/fr/
docs/<type>/<name>.<locale>.md instead.docs/guides/zh/configuration.md or docs/channels/telegram/zh/README.md
README_zh.md or README_CN.md
README.zh.md.configuration_zh.md or configuration.ZH.md
.<locale>.md, for example configuration.zh.md.docs/guides, docs/reference, docs/operations, docs/security, docs/architecture, docs/channels, and docs/migration, keep translations beside the English source file.docs/project/ and keep the English source in the repository root.docs/guides/configuration.zh.md usually sits beside docs/guides/configuration.mddocs/project/README.zh.md usually corresponds to README.mddocs/design/ may contain locale-specific working notes without an English source document. The naming rules still apply there.Keep documentation next to the implementation when it primarily describes a package, command, example, or subproject.
Examples:
pkg/**/README.mdcmd/**/README.mdweb/README.mdexamples/**/README.mdThese files still follow the same translation naming rules.
make lint-docs locally when adding or moving docs.docs/guides/launcher-setup.mddocs/guides/launcher-setup.zh.mddocs/security/token-rotation.mdpkg/channels/README.zh.mdRun:
make lint-docs
The local docs linter currently checks these common cases:
README or CONTRIBUTING filesdocs/<locale>/ language buckets, regardless of caseREADME_*.md filenames_zh.md or .ZH.mddocs/ except docs/README.mddocs/design/make lint-docs is a local consistency check for common naming and placement mistakes. It helps contributors stay close to the recommended layout, but it is not intended to describe every acceptable documentation pattern in the repository.
When a check fails, make lint-docs prints the failing path, the reason, and a suggested fix.
If you change these recommendations or want the local linter to reflect them more closely, update this file and scripts/lint-docs.sh together.