Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add rules/liquidz00/jamfmcp/python-general-best-practicesgit clone --depth 1 https://github.com/liquidz00/jamfmcpWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00000 | $0.00548 |
| Opus 5 | $0.00000 | $0.00274 |
| Sonnet 5 | $0.00000 | $0.00110 |
| Haiku 4.5 | $0.00000 | $0.00055 |
Grade A, and why
python-general-best-practices scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
84% identical to python-coding — 64 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 81 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Python Best Practices
Project Structure
- Place tests in
tests/directory parallel - Keep configuration in
config/or as environment variables - Store requirements in
pyproject.toml - Place static files in
static/directory - Use
templates/for Jinja2 templates
Code Style
- Follow Black code formatting
- Use isort for import sorting
- Follow PEP 8 naming conventions:
- snake_case for functions and variables
- PascalCase for classes
- UPPER_CASE for constants
- Maximum line length of 100 characters
- Use absolute imports over relative imports
- Use proper response formats
Type Hints
- Use type hints for all function parameters and returns
- Use modern Python 3.10+ union syntax:
str | Noneinstead ofOptional[str] - Use built-in generics:
list[str],dict[str, int],tuple[int, ...],set[int] - Import types from
typingmodule for types not available as builtins (e.g.,TypedDict,TypeVar,Literal,Callable,Protocol,Any) - Use
TypeVarfor generic types - Define custom types in
types.py - Use
Protocolfor duck typing
Testing
- Use pytest for testing
- Write tests for all routes
- Use pytest-cov for coverage
- Implement proper fixtures
- Use proper mocking with pytest-mock
- Test all error scenarios
Security
- Sanitize all user inputs
- Use proper session configuration
- Implement proper logging
- Follow OWASP guidelines
Error Handling
- Create custom exception classes
- Use proper try-except blocks
- Implement proper logging
- Return proper error responses
- Handle edge cases properly
- Use proper error messages
Documentation
- Use reStructuredText-style docstrings
- Document all public APIs
- Keep README.md updated
- Use proper inline comments
- Generate API documentation
- Document environment setup
Development Workflow
- Leverage
uvfor package management - Use virtual environments (venv)
- Implement pre-commit hooks
- Use proper Git workflow
- Follow semantic versioning
- Use proper CI/CD practices
- Implement proper logging
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 81 lines · 548 tokens per session scan A 321d9370e7f7
python-general-best-practices is a cursor rule published in the GitHub repository liquidz00/jamfmcp (8 stars, last pushed 10d ago), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 548 tokens. A static security scan graded it A with 0 findings. It is 84% identical to python-coding, differing in 64 lines, and is treated as a copy.
Other cursor rules, from other repositories
mintlify
You are an AI writing assistant specialized in creating exceptional technical documentation using Mintlify components and following industry-leading technical writing practices.
cursorrules
Composite MCP server for AI-powered music production workflows. Mounts and orchestrates multiple MCP servers (VirtualDJ, Plex, Suno, Reaper, OBS).
cursorrules
Bridge to Gitee (gitee.com), China's largest Chinese-language code hosting platform: live activity radar, repo intel, user/repo search and zh->en translation via your local LLM.
cursorrules
You are working on stripe-mcp, an MCP server and SOTA React webapp providing Stripe payment tools and Austrian/EU tax compliance.
angular-20
This rule provides comprehensive best practices and coding standards for Angular development, focusing on modern TypeScript, standalone components, signals, and performance optimizations.
dev-standard
Apache Superset development standards and guidelines for Cursor IDE.