I wrote this in like 10 minutes for quick sharing.
I am not a full time coder, I am a student who code like 15-20 hours a week.
Investing too much time on writing good prompts make little sense. I go with the defaults and add pieces of nudges as needed. (See one of my AGENTS .md at the end)
Mainly codex (cloud) and Cursor. Claude Code works, but being able to easily revert is helpful, so Cursor is better.
I still try out claude code for small pieces of edits, but it doesnt feel worth it.
I have no idea why people like claude code so much? CLI is inferior to GUI
Using cursor means I don’t need to have multiple git worktrees for each agent, as long as I get them to work on different parts of the codebase
Mobile coding is real and very convenient with codex (cloud), but I still review and edit on desktop.
Using multiple agents is possible, but usually one big feature and multiple smaller background edits.
Or multiple big features using codex cloud, and delay review to a later time.
Codex cloud is good but only generate one commit for PR, often I need to manually split them up. I am eyeing on other cloud agents solution but havent tried them seriously yet.
Current prompt for one of the python projects
## Code Style
- 120-character lines
- Type hints is a must
- **Don't use Python 3.8 typings**: Never import `List`, `Tuple` or other deprecated classes from `typing`, use `list`, `tuple` etc. instead, or import from `collections.abc`
- Do not use `from __future__ import annotations`, use forward references in type hints instead. `TYPE_CHECKING` should be used only for imports that would cause circular dependencies.
## Documentation and Comments
Add code comments sparingly. Focus on why something is done, especially for complex logic, rather than what is done. Only add high-value comments if necessary for clarity or if requested by the user. Do not edit comments that are separate from the code you are changing. NEVER talk to the user or describe your changes through comments.
### Using a new environmental variable
When using a new environmental variable, add it to `.env.example` with a placeholder value, and optionally a comment describing its purpose. Also add it to the `Environment Variables` section in `README.md`.
### Using deal
We only use the exception handling features of deal. Use `@deal.raises` to document expected exceptions for functions/methods. Do not use preconditions/postconditions/invariants.
Additionally, we assume `AssertionError` is never raised, so `@deal.raises(AssertionError)` is not allowed.
## Testing Guidelines
To be expanded.
Mocking is heavily discouraged. Use test databases, test files, and other real resources instead of mocks wherever possible.
Allowed pytest markers:
- `@pytest.mark.integration`
- `@pytest.mark.slow`
- `@pytest.mark.docker`
- builtin ones like `skip`, `xfail`, `parametrize`, etc.
We do not use
- `@pytest.mark.unit`: all tests are unit tests by default
- `@pytest.mark.asyncio`: we use `pytest-asyncio` which automatically handles async tests
- `@pytest.mark.anyio`: we do not use `anyio`
### Running Tests
Use `uv run pytest …` instead of simply `pytest …` so that the virtual environment is activated for you.
## Asking for Help
- Refactoring:
As a command-line only tool, you do not have access to helpful IDE features like “Refactor > Rename Symbol”. Instead, you can ask the user to rename variables, functions, classes, or other symbols by providing the current name and the new name. It is important that you don’t rename public variables yourself, as you might miss some occurrences of the symbol across the codebase.
## Information
Finding dependencies: we use `pyproject.toml`, not `requirements.txt`. Use `uv add <package>` to add new dependencies.
(Note that the Asking for Help is basically useless. It was experimental and I never got asked lol)
How I use AI for coding.
I wrote this in like 10 minutes for quick sharing.
I am not a full time coder, I am a student who code like 15-20 hours a week.
Investing too much time on writing good prompts make little sense. I go with the defaults and add pieces of nudges as needed. (See one of my AGENTS .md at the end)
Mainly codex (cloud) and Cursor. Claude Code works, but being able to easily revert is helpful, so Cursor is better.
I still try out claude code for small pieces of edits, but it doesnt feel worth it.
I have no idea why people like claude code so much? CLI is inferior to GUI
Using cursor means I don’t need to have multiple git worktrees for each agent, as long as I get them to work on different parts of the codebase
Mobile coding is real and very convenient with codex (cloud), but I still review and edit on desktop.
Using multiple agents is possible, but usually one big feature and multiple smaller background edits.
Or multiple big features using codex cloud, and delay review to a later time.
Codex cloud is good but only generate one commit for PR, often I need to manually split them up. I am eyeing on other cloud agents solution but havent tried them seriously yet.
Current prompt for one of the python projects
(Note that the Asking for Help is basically useless. It was experimental and I never got asked lol)