Guidance for Cursor / Claude agents working in this repository.
| Path | Role |
|---|---|
tiny-bot-cloud-agent/ |
Go cloud agent (WebSocket, ASR/LLM/TTS, persona/memory/skills) |
tiny-bot-firmware/ |
ESP32 firmware (PlatformIO) |
docs/ |
Hardware / build guides |
.cursor/ |
Project hooks and rules |
tmp/ |
Local debug evidence / scratch only (listed in .gitignore; never commit or push) |
Package-specific conventions:
- Cloud agent:
tiny-bot-cloud-agent/CLAUDE.md - Firmware:
tiny-bot-firmware/CLAUDE.md
When a task finishes with file changes, the project stop hook
(.cursor/hooks/ship-on-stop.sh) expects you to:
- Changelog — append one bullet under
[Unreleased]in the package you changed:tiny-bot-cloud-agent/CHANGELOG.mdtiny-bot-firmware/CHANGELOG.md- Root /
.cursor/workflow changes do not get a root changelog; update thisAGENTS.mdinstead. - Hardware guides under
docs/alone do not require anAGENTS.mdbump.
- Agent docs — update
AGENTS.mdand/or the packageCLAUDE.mdonly when developer conventions, commands, layout, or durable workflow changed (e.g..cursor/hooks, rules). Do not treat them as a second changelog for routine bugfixes or product/human docs. - Commit — English Conventional Commits subject + body via HEREDOC
(
feat:/fix:/docs:/refactor:/chore:/test:/ci:/build:/perf:/style:/revert:; optional scope e.g.feat(api): …). Subject focuses on why. Never--no-verify. Stage only files for this task (git add -Ais discouraged). Leave unrelated WIP unstaged. - Push —
git push -u origin HEAD. This solo repo allows commit/push onmain. Never force-push.
afterFileEdit records session edit paths under .cursor/hooks/state/ (gitignored).
ship-on-stop only checks this session's edits, not pre-existing dirty files.
Hard gates live in .cursor/hooks/git-pr-guard.sh (before shell): no force-push,
no --no-verify, Conventional Commits subjects, and a secrets scan of staged diffs /
commit messages.
This repo uses the codepotter66 GitHub account. Remote should stay:
git@github.com-codepotter66:codepotter66/ai-tiny-bot.git
Use SSH key ~/.ssh/id_ed25519_codepotter66 (Host github.com-codepotter66 in ~/.ssh/config).
Do not push with other GitHub identities.
.env,.env.*(.env.exampleis OK)tiny-bot-firmware/include/config.h(useconfig.h.example)*.pem/*.key/ private key blocks- Real passwords, API keys, tokens, real public IPs / host:port pairs
- Local deploy/debug evidence under
tmp/(gitignored); keep screenshots/logs there for review, do not stage them
Documented placeholders (YOUR_…, example.com, private RFC1918 ranges, protocol default :5678 in docs) are fine.
- No
git push --force/-fto shared remotes - Commit/push on
mainis allowed (solo repo) - No
git reset --hardorgit clean -fwithout explicit user request