| Dimension | Shared | Only in A | Only in B | Overlap |
|---|---|---|---|---|
| Sections | 0 | 1 | 6 | 0% |
| Commands | 1 | 0 | 1 | 50% |
| Section tags | 2 | 0 | 3 | 40% |
What each file covers
Sections
0 shared · 1 only in A · 6 only in B- − Python (AgentX)
- + Python Instructions
- + Key Rules
- + Critical Rules (Embedded -- Always Active)
- + Security
- + Testing
- + Error Handling
Commands
1 shared · 0 only in A · 1 only in B- + pytest --cov
- ruff
Section tags
2 shared · 0 only in A · 3 only in B- + security
- + do-not
- + agent-behaviour
- test
- lint-format
Line diff
jnPiyush/AgentX · .cursor/rules/python.mdc
@@ −1 @@
1---
2description: Python coding standards (AgentX)
3globs: **/*.py,**/*.pyx
4alwaysApply: false
5---
6
7# Python (AgentX)
8
9Canonical: `.github/instructions/python.instructions.md` and
10`.github/skills/languages/python/SKILL.md` -- read for full standards.
11
12- PEP 8; type hints on all signatures; Black 88-col; `ruff` lint/format.
13- Google-style docstrings; pytest (+ pytest-asyncio); name tests
14 `test_function_scenario_expected`.
15- Catch specific exceptions, never bare `except:`.
16- Parameterize SQL via ORM or `cursor.execute(sql, params)` -- never f-strings.
17- Secrets via env/Key Vault, never hardcoded.
18
jnPiyush/AgentX · .github/instructions/python.instructions.md
@@ +1 @@
1---
2description: 'Python specific coding instructions for production code.'
3applyTo: '**.py, **.pyx'
4---
5
6# Python Instructions
7
8> Auto-loads when editing Python files. For comprehensive standards, load the skill.
9
10**Skill**: [.github/skills/languages/python/SKILL.md](../skills/languages/python/SKILL.md)
11
12## Key Rules
13
14- Follow PEP 8 style guide
15- Use type hints for all function signatures (PEP 484)
16- Maximum line length: 88 characters (Black formatter)
17- Use `ruff` for linting and formatting
18- Google style docstrings
19- Catch specific exceptions, never bare `except:`
20- pytest for testing, pytest-asyncio for async
21- Name tests: `test_function_name_scenario_expected`
22
23## Critical Rules (Embedded -- Always Active)
24
25### Security
26- Validate/sanitize ALL inputs at API boundaries
27- Parameterize SQL via ORM or `cursor.execute(sql, params)` -- NEVER f-strings or `.format()`
28- Secrets in env vars (`os.environ`) or Key Vault -- NEVER hardcode
29- Use `secrets.compare_digest()` for constant-time comparisons
30
31### Testing
32- 80%+ code coverage required (`pytest --cov`)
33- Pyramid: 70% unit, 20% integration, 10% e2e
34- AAA pattern (Arrange-Act-Assert) in every test
35- No bare `assert True` -- assert specific values
36
37### Error Handling
38- Catch specific exceptions (`ValueError`, `KeyError`, etc.)
39- Log with context: `logger.error("msg", extra={"agent": ..., "issue": ...})`
40- Retry transient failures with exponential backoff (`tenacity`)
41- Fail fast on invalid input at module boundaries
42
43
@@ −1 +1 @@
11 ---
2−description: Python coding standards (AgentX)
3−globs: **/*.py,**/*.pyx
4−alwaysApply: false
2+description: 'Python specific coding instructions for production code.'
3+applyTo: '**.py, **.pyx'
54 ---
65
7−# Python (AgentX)
6+# Python Instructions
87
9−Canonical: `.github/instructions/python.instructions.md` and
10−`.github/skills/languages/python/SKILL.md` -- read for full standards.
8+> Auto-loads when editing Python files. For comprehensive standards, load the skill.
119
12−- PEP 8; type hints on all signatures; Black 88-col; `ruff` lint/format.
13−- Google-style docstrings; pytest (+ pytest-asyncio); name tests
14− `test_function_scenario_expected`.
15−- Catch specific exceptions, never bare `except:`.
16−- Parameterize SQL via ORM or `cursor.execute(sql, params)` -- never f-strings.
17−- Secrets via env/Key Vault, never hardcoded.
10+**Skill**: [.github/skills/languages/python/SKILL.md](../skills/languages/python/SKILL.md)
11+
12+## Key Rules
13+
14+- Follow PEP 8 style guide
15+- Use type hints for all function signatures (PEP 484)
16+- Maximum line length: 88 characters (Black formatter)
17+- Use `ruff` for linting and formatting
18+- Google style docstrings
19+- Catch specific exceptions, never bare `except:`
20+- pytest for testing, pytest-asyncio for async
21+- Name tests: `test_function_name_scenario_expected`
22+
23+## Critical Rules (Embedded -- Always Active)
24+
25+### Security
26+- Validate/sanitize ALL inputs at API boundaries
27+- Parameterize SQL via ORM or `cursor.execute(sql, params)` -- NEVER f-strings or `.format()`
28+- Secrets in env vars (`os.environ`) or Key Vault -- NEVER hardcode
29+- Use `secrets.compare_digest()` for constant-time comparisons
30+
31+### Testing
32+- 80%+ code coverage required (`pytest --cov`)
33+- Pyramid: 70% unit, 20% integration, 10% e2e
34+- AAA pattern (Arrange-Act-Assert) in every test
35+- No bare `assert True` -- assert specific values
36+
37+### Error Handling
38+- Catch specific exceptions (`ValueError`, `KeyError`, etc.)
39+- Log with context: `logger.error("msg", extra={"agent": ..., "issue": ...})`
40+- Retry transient failures with exponential backoff (`tenacity`)
41+- Fail fast on invalid input at module boundaries
42+
1843
