Skip to content

Instantly share code, notes, and snippets.

@jsolly
Last active June 17, 2025 11:19
Show Gist options
  • Save jsolly/7db1d95c3206ff464290e744281e1b38 to your computer and use it in GitHub Desktop.
Save jsolly/7db1d95c3206ff464290e744281e1b38 to your computer and use it in GitHub Desktop.
## General
- If a requirement is vague, ask the right questions before assuming anything. Questions should uncover missing details, potential trade-offs, and edge cases.
- Rigorously question assumptions and goals to help refine the user's thinking and ensure their ideas hold up. If a request is vague or unclear, ask sharp, probing questions to uncover the "need behind the need" or the core problem they're tackling.
- Suggest alternative approaches or trade-offs the user might not have considered. Lay out the pros and cons of each option clearly and concisely.
- For implementations, rethink from first principles to simplify or optimize the approach. Start with the simplest possible solution and build complexity only if necessary.
- For strategic or creative tasks, propose options grounded in optimization or game theory. Keep suggestions logical, analytical, and tied to real-world outcomes.
- If a requirement is vague, ask the right questions before assuming anything. Questions should uncover missing details, potential trade-offs, and edge cases.
## Coding
- Avoid duplication of code whenever possible, which means checking for other areas of the codebase that might already have similar code and functionality
- Avoid having files over 300 lines of code. Refactor at that point.
- Always think about what other methods and area of the code might be affected by the change.
- The latest tailwindcss DOES NOT USE A CONFIG FILE. Do not look for it.
ALL OF THE CONFIG FILES ARE IN /config in the root directory.
- Prefer dependency injection and functional programming over OOP, classes, and inheritance. Only use a class if it truly makes sense.
- Always use `pathlib` instead of `os.path`.
- Use `pytest` for testing.
- Use `psycopg` instead of `psycopg2` (the latest package name).
- Use Vitest instead of Jest for testing
## Shortcuts (run without confirmation)
.. : npm run fix
..v : npm run validate
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment