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/syntaxarc/archipy-plugin/testing-bdd-for-appsgit clone --depth 1 https://github.com/SyntaxArc/archipy-pluginWhat 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.00466 |
| Opus 5 | $0.00000 | $0.00233 |
| Sonnet 5 | $0.00000 | $0.00093 |
| Haiku 4.5 | $0.00000 | $0.00047 |
Grade A, and why
testing-bdd-for-apps 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 yesterday.
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.
What it actually says
BDD Testing for ArchiPy Apps
ArchiPy-style apps use Behave (not pytest) for acceptance tests.
Live: https://syntaxarc.github.io/ArchiPy/tutorials/testing_strategy/
Layout
features/
├── *.feature
├── steps/
├── scenario_context.py # Per-scenario storage + cleanup
├── scenario_context_pool_manager.py # Singleton pool by scenario ID
├── test_helpers.py # get_current_scenario_context
├── environment.py # TestConfig + before/after hooks
└── test_containers.py # Infra only — ContainerManager + @needs-* map
Extras: uv add "archipy[behave]"; infra also uv add "archipy[testcontainers]".
Lifecycle (environment.py)
before_all—TestConfig/set_global,ScenarioContextPoolManager, optionalContainerManagerbefore_feature— start containers from@needs-*tags onlybefore_scenario— allocateScenarioContextfrom poolafter_scenario—cleanup_context+SessionManagerRegistry.reset()after_feature/after_all—ContainerManager.stop_all(),cleanup_all()
Prefer /scaffold-bdd templates over copying ArchiPy-core gRPC/Temporal hooks.
Ports and Mocks
- Inject mocks (e.g.
RedisMock) or real adapters via scenario context. - Never share mutable globals across scenarios.
Infrastructure Tags
@needs-redis
Feature: ...
ContainerManager.extract_containers_from_tags → start_containers. Register only containers the app tests.
uv run behave --tags=~@needs-redis
Do Not
- Share adapter/DB state across scenarios without cleanup.
- Use pytest as the primary ArchiPy app test style.
- Paste the full ArchiPy library
test_containers.pycatalogue into an app.
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.
- yesterday First seen · 61 lines · 466 tokens per session scan A f7a13ac539b0
testing-bdd-for-apps is a cursor rule published in the GitHub repository SyntaxArc/archipy-plugin (2 stars, last pushed 8d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 466 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other cursor rules, from other repositories
lians-memory
Current Lians task, control policy, and bounded context.
no-cursor-attribution
Git commits must not include Cursor co-author attribution.
python
Cursor rule "python" from jhl-labs/vibe-project, covering python rules, style guide, naming, imports and order: stdlib → third-party → local.
typescript
TypeScript/JavaScript specific rules.
architecture
Clean Architecture rules.
cursorrules
Cursor rule "cursorrules" from jhl-labs/vibe-project, covering cursor ai rules, ⚠️ deprecation notice, this .cursorrules file format is deprecated, please migrate to the new project rules system and 📁 .cursor/rules/.mdc.