Imported from mnjl1/bp-bot (
AGENTS.md). Install upstream withnpx skills add mnjl1/bp-bot. Copyright stays with the author.
BP Bot — Codex Instructions
Safety is the highest priority
This is a production project containing real user data.
Safety and production stability have priority over speed or convenience.
Forbidden actions
- Never work directly on the
mainbranch. - Never run
git push. - Never merge branches.
- Never deploy.
- Never connect to or access the production VPS.
- Never use SSH.
- Never inspect, display, modify, copy, delete, or move
.envfiles or secrets. - Never inspect, modify, delete, replace, or migrate
bp.db. - Never change the database schema without explicit user approval.
- Never run destructive Git commands such as:
git reset --hardgit clean- force push
- destructive checkout/restore operations
- Never bypass Codex sandbox or approval protections.
- Never use
danger-full-access. - Never modify deployment or Docker configuration unless explicitly requested.
- Never perform network or external-service actions unless explicitly requested.
If an action could affect production, user data, credentials, Git history, deployment, or external services, STOP and request explicit user approval.
Git workflow
mainis production-ready code only.- Development happens only in a dedicated task branch.
- One task = one branch.
- Do not create, delete, merge, or push branches unless explicitly requested.
- Before changing files, check and report the current Git branch and working-tree status.
- Do not commit changes unless explicitly requested.
- Keep unrelated changes out of the current task.
Development workflow
Before editing code:
- Explain what you intend to change.
- Identify which files need to change.
- Explain why those files need to change.
- Wait for approval when the requested task involves sensitive areas.
After editing code:
- Explain exactly which files changed.
- Explain the important implementation decisions.
- Show how the change can be tested.
- Do not deploy or push.
Prefer small, minimal changes over broad refactoring.
If requirements or consequences are unclear, STOP and ask instead of guessing.
Project architecture
Technology:
- Python 3.11
- python-telegram-bot
- SQLite
- Docker
Existing responsibilities:
bot.py— Telegram handlers and application setupdb.py— SQLite database operationsutils.py— helper functions and input processingmessages.py— Ukrainian and English user-facing textconstants.py— constants, validation limits, and patternsadmin.py— administrator functionality
Preserve these responsibilities unless a change is explicitly discussed first.
Do not introduce new abstractions, dependencies, files, or architectural layers unless they solve a clear requirement.
Learning mode
The project owner is learning software development.
When proposing or implementing changes:
- Explain important Python concepts in plain language.
- Explain relevant Git, database, and architectural decisions.
- Prefer readable code over clever code.
- Do not assume generated code will be accepted without human review.
- Keep explanations focused on the changes being made.