atdd 0.2.12__tar.gz → 0.4.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {atdd-0.2.12/src/atdd.egg-info → atdd-0.4.1}/PKG-INFO +41 -12
- {atdd-0.2.12 → atdd-0.4.1}/README.md +40 -11
- {atdd-0.2.12 → atdd-0.4.1}/pyproject.toml +6 -1
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/cli.py +238 -77
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/commands/add_persistence_metadata.py +3 -1
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/commands/infer_governance_status.py +3 -1
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/commands/initializer.py +10 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/commands/interface.py +3 -1
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/commands/inventory.py +4 -6
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/commands/migration.py +11 -6
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/commands/sync.py +7 -0
- atdd-0.4.1/src/atdd/coach/commands/test_runner.py +180 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/commands/traceability.py +3 -1
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/conventions/session.convention.yaml +26 -26
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/templates/ATDD.md +49 -15
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/templates/SESSION-TEMPLATE.md +46 -12
- atdd-0.4.1/src/atdd/coach/utils/__init__.py +5 -0
- atdd-0.4.1/src/atdd/coach/utils/repo.py +113 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/validators/shared_fixtures.py +29 -14
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/validators/test_session_validation.py +4 -4
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/conventions/commons.convention.yaml +1 -1
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/conventions/tests/test_component_taxonomy.py +4 -3
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/conventions/tests/test_component_urn_naming.py +9 -3
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/validators/test_commons_structure.py +9 -2
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/validators/test_complexity.py +3 -1
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/validators/test_cross_language_consistency.py +3 -1
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/validators/test_design_system_compliance.py +3 -1
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/validators/test_dto_testing_patterns.py +10 -3
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/validators/test_green_cross_stack_layers.py +9 -3
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/validators/test_green_layer_dependencies.py +9 -3
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/validators/test_green_python_layer_structure.py +8 -2
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/validators/test_green_supabase_layer_structure.py +8 -3
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/validators/test_import_boundaries.py +3 -1
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/validators/test_init_file_urns.py +3 -1
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/validators/test_preact_layer_boundaries.py +3 -1
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/validators/test_presentation_convention.py +3 -1
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/validators/test_python_architecture.py +9 -2
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/validators/test_quality_metrics.py +2 -1
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/validators/test_station_master_pattern.py +4 -2
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/validators/test_train_infrastructure.py +9 -2
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/validators/test_train_urns.py +9 -2
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/validators/test_typescript_architecture.py +10 -3
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/validators/test_usecase_structure.py +3 -1
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/validators/test_wagon_boundaries.py +8 -2
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/planner/validators/test_plan_urn_resolution.py +3 -1
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/planner/validators/test_wagon_urn_chain.py +3 -1
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/planner/validators/test_wmbt_consistency.py +3 -1
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/planner/validators/test_wmbt_vocabulary.py +8 -2
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/conventions/contract.convention.yaml +1 -1
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/conventions/migration.convention.yaml +5 -5
- atdd-0.4.1/src/atdd/tester/conventions/security.convention.yaml +165 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/validators/cleanup_duplicate_headers.py +3 -1
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/validators/cleanup_duplicate_headers_v2.py +3 -1
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/validators/coverage_gap_report.py +3 -1
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/validators/fix_dual_ac_references.py +3 -1
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/validators/remove_duplicate_lines.py +3 -1
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/validators/test_acceptance_urn_filename_mapping.py +9 -3
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/validators/test_acceptance_urn_separator.py +9 -3
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/validators/test_contract_schema_compliance.py +9 -2
- atdd-0.4.1/src/atdd/tester/validators/test_contract_security.py +569 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/validators/test_contracts_structure.py +84 -1
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/validators/test_coverage_adequacy.py +3 -1
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/validators/test_dual_ac_reference.py +6 -2
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/validators/test_fixture_validity.py +2 -1
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/validators/test_isolation.py +9 -2
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/validators/test_migration_coverage.py +4 -2
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/validators/test_migration_generation.py +3 -1
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/validators/test_python_test_naming.py +3 -1
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/validators/test_red_layer_validation.py +7 -2
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/validators/test_red_python_layer_structure.py +7 -2
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/validators/test_red_supabase_layer_structure.py +8 -2
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/validators/test_telemetry_structure.py +9 -2
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/version_check.py +111 -3
- {atdd-0.2.12 → atdd-0.4.1/src/atdd.egg-info}/PKG-INFO +41 -12
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd.egg-info/SOURCES.txt +3 -0
- atdd-0.2.12/src/atdd/coach/commands/test_runner.py +0 -141
- atdd-0.2.12/src/atdd/tester/validators/__init__.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/LICENSE +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/setup.cfg +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/__init__.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/__main__.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/__init__.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/commands/__init__.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/commands/analyze_migrations.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/commands/consumers.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/commands/gate.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/commands/registry.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/commands/session.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/commands/test_interface.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/commands/tests/__init__.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/commands/tests/test_telemetry_array_validation.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/overlays/__init__.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/overlays/claude.md +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/schemas/config.schema.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/schemas/manifest.schema.json +0 -0
- {atdd-0.2.12/src/atdd/coach/utils → atdd-0.4.1/src/atdd/coach/utils/graph}/__init__.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/utils/graph/urn.py +0 -0
- {atdd-0.2.12/src/atdd/coach/utils/graph → atdd-0.4.1/src/atdd/coach/validators}/__init__.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/validators/test_enrich_wagon_registry.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/validators/test_registry.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/validators/test_traceability.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/validators/test_update_feature_paths.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coach/validators/test_validate_contract_consumers.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/__init__.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/conventions/adapter.recipe.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/conventions/backend.convention.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/conventions/boundaries.convention.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/conventions/complexity.recipe.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/conventions/component-naming.convention.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/conventions/design.convention.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/conventions/design.recipe.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/conventions/dto.convention.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/conventions/frontend.convention.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/conventions/green.convention.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/conventions/presentation.convention.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/conventions/refactor.convention.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/conventions/technology.convention.yaml +0 -0
- {atdd-0.2.12/src/atdd/coach/validators → atdd-0.4.1/src/atdd/coder/conventions/tests}/__init__.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/conventions/tests/test_adapter_recipe.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/conventions/tests/test_complexity_recipe.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/conventions/tests/test_thinness_recipe.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/conventions/thinness.recipe.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/conventions/train.convention.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/conventions/verification.protocol.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/coder/schemas/design_system.schema.json +0 -0
- {atdd-0.2.12/src/atdd/coder/conventions/tests → atdd-0.4.1/src/atdd/coder/validators}/__init__.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/conftest.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/planner/__init__.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/planner/conventions/acceptance.convention.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/planner/conventions/appendix.convention.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/planner/conventions/artifact-naming.convention.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/planner/conventions/component.convention.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/planner/conventions/criteria.convention.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/planner/conventions/feature.convention.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/planner/conventions/interface.convention.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/planner/conventions/steps.convention.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/planner/conventions/train.convention.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/planner/conventions/wagon.convention.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/planner/conventions/wmbt.convention.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/planner/schemas/acceptance.schema.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/planner/schemas/appendix.schema.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/planner/schemas/component.schema.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/planner/schemas/feature.schema.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/planner/schemas/train.schema.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/planner/schemas/wagon.schema.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/planner/schemas/wmbt.schema.json +0 -0
- {atdd-0.2.12/src/atdd/coder → atdd-0.4.1/src/atdd/planner}/validators/__init__.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/planner/validators/conftest.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/planner/validators/test_draft_wagon_registry.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/planner/validators/test_plan_cross_refs.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/planner/validators/test_plan_uniqueness.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/planner/validators/test_plan_wagons.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/planner/validators/test_train_validation.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/__init__.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/conventions/artifact.convention.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/conventions/filename.convention.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/conventions/red.convention.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/conventions/routing.convention.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/conventions/telemetry.convention.yaml +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/schemas/a11y.tmpl.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/schemas/artifact.schema.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/schemas/contract.schema.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/schemas/contract.tmpl.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/schemas/db.tmpl.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/schemas/e2e.tmpl.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/schemas/edge_function.tmpl.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/schemas/event.tmpl.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/schemas/http.tmpl.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/schemas/job.tmpl.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/schemas/load.tmpl.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/schemas/metric.tmpl.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/schemas/pack.schema.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/schemas/realtime.tmpl.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/schemas/rls.tmpl.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/schemas/script.tmpl.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/schemas/sec.tmpl.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/schemas/storage.tmpl.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/schemas/telemetry.schema.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/schemas/telemetry_tracking_manifest.schema.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/schemas/test_filename.schema.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/schemas/test_intent.schema.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/schemas/unit.tmpl.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/schemas/visual.tmpl.json +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/schemas/ws.tmpl.json +0 -0
- {atdd-0.2.12/src/atdd/planner/validators → atdd-0.4.1/src/atdd/tester/utils}/__init__.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/utils/filename.py +0 -0
- {atdd-0.2.12/src/atdd/tester/utils → atdd-0.4.1/src/atdd/tester/validators}/__init__.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/validators/conftest.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/validators/test_artifact_naming_category.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/validators/test_migration_criteria.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/validators/test_typescript_test_naming.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd/tester/validators/test_typescript_test_structure.py +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd.egg-info/dependency_links.txt +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd.egg-info/entry_points.txt +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd.egg-info/requires.txt +0 -0
- {atdd-0.2.12 → atdd-0.4.1}/src/atdd.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: atdd
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.1
|
|
4
4
|
Summary: ATDD Platform - Acceptance Test Driven Development toolkit
|
|
5
5
|
License: MIT
|
|
6
6
|
Requires-Python: >=3.10
|
|
@@ -16,6 +16,15 @@ Dynamic: license-file
|
|
|
16
16
|
|
|
17
17
|
Acceptance Test Driven Development toolkit for structured planning and convention enforcement.
|
|
18
18
|
|
|
19
|
+
ATDD covers the full software lifecycle, not just code. It starts from a job to be done (e.g., user problem or goal), turns it into deterministic requirements, validates them with tests, and then drives implementation.
|
|
20
|
+
|
|
21
|
+
```mermaid
|
|
22
|
+
flowchart LR
|
|
23
|
+
A[Job to be Done] -->|Planner| B[Wagon + Acceptance Criteria]
|
|
24
|
+
B -->|Tester| C[RED Tests]
|
|
25
|
+
C -->|Coder| D[GREEN Code]
|
|
26
|
+
```
|
|
27
|
+
|
|
19
28
|
## Installation
|
|
20
29
|
|
|
21
30
|
### From PyPI
|
|
@@ -49,9 +58,9 @@ atdd --help
|
|
|
49
58
|
```bash
|
|
50
59
|
atdd init # Initialize ATDD in your project
|
|
51
60
|
atdd gate # ⚠️ START EVERY SESSION WITH THIS
|
|
52
|
-
atdd session new
|
|
61
|
+
atdd session new <capability> # Create a planning session
|
|
53
62
|
atdd sync # Sync rules to agent config files
|
|
54
|
-
atdd
|
|
63
|
+
atdd validate # Run all validators
|
|
55
64
|
```
|
|
56
65
|
|
|
57
66
|
> **⚠️ `atdd gate` is required.**
|
|
@@ -67,6 +76,22 @@ ATDD provides:
|
|
|
67
76
|
3. **ATDD Lifecycle** - Planner → Tester → Coder phase gates
|
|
68
77
|
4. **Agent Config Sync** - Keep ATDD rules in sync across AI agent config files
|
|
69
78
|
|
|
79
|
+
```mermaid
|
|
80
|
+
flowchart LR
|
|
81
|
+
A[Job to be Done] -->|Planner| B[Wagon + Acceptance Criteria]
|
|
82
|
+
B -->|Tester| C[RED Tests]
|
|
83
|
+
C -->|Coder| D[GREEN Code]
|
|
84
|
+
D -->|Coder| E[REFACTOR]
|
|
85
|
+
E -.->|feedback| B
|
|
86
|
+
|
|
87
|
+
subgraph "ATDD Lifecycle"
|
|
88
|
+
B
|
|
89
|
+
C
|
|
90
|
+
D
|
|
91
|
+
E
|
|
92
|
+
end
|
|
93
|
+
```
|
|
94
|
+
|
|
70
95
|
## Commands
|
|
71
96
|
|
|
72
97
|
### Project Initialization
|
|
@@ -196,19 +221,23 @@ Before starting work, confirm you have loaded these rules.
|
|
|
196
221
|
### Validation
|
|
197
222
|
|
|
198
223
|
```bash
|
|
199
|
-
atdd
|
|
200
|
-
atdd
|
|
201
|
-
atdd
|
|
202
|
-
atdd
|
|
203
|
-
atdd --quick
|
|
224
|
+
atdd validate # Run all validators
|
|
225
|
+
atdd validate planner # Planning validators only
|
|
226
|
+
atdd validate tester # Testing validators only
|
|
227
|
+
atdd validate coder # Implementation validators only
|
|
228
|
+
atdd validate --quick # Fast smoke test
|
|
229
|
+
atdd validate --coverage # With coverage report
|
|
230
|
+
atdd validate --html # With HTML report
|
|
204
231
|
```
|
|
205
232
|
|
|
206
233
|
### Other Commands
|
|
207
234
|
|
|
208
235
|
```bash
|
|
209
|
-
atdd
|
|
210
|
-
atdd
|
|
211
|
-
atdd --
|
|
236
|
+
atdd status # Platform status
|
|
237
|
+
atdd inventory # Generate artifact inventory
|
|
238
|
+
atdd inventory --format json # Inventory as JSON
|
|
239
|
+
atdd registry update # Update all registries
|
|
240
|
+
atdd --help # Full help
|
|
212
241
|
```
|
|
213
242
|
|
|
214
243
|
## Project Structure
|
|
@@ -264,7 +293,7 @@ pytest --cov=atdd --cov-report=html
|
|
|
264
293
|
|
|
265
294
|
1. Create `src/atdd/{phase}/validators/test_{name}.py`
|
|
266
295
|
2. Write pytest test functions
|
|
267
|
-
3. Run `atdd
|
|
296
|
+
3. Run `atdd validate {phase}`
|
|
268
297
|
|
|
269
298
|
Validators are auto-discovered by pytest.
|
|
270
299
|
|
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
Acceptance Test Driven Development toolkit for structured planning and convention enforcement.
|
|
4
4
|
|
|
5
|
+
ATDD covers the full software lifecycle, not just code. It starts from a job to be done (e.g., user problem or goal), turns it into deterministic requirements, validates them with tests, and then drives implementation.
|
|
6
|
+
|
|
7
|
+
```mermaid
|
|
8
|
+
flowchart LR
|
|
9
|
+
A[Job to be Done] -->|Planner| B[Wagon + Acceptance Criteria]
|
|
10
|
+
B -->|Tester| C[RED Tests]
|
|
11
|
+
C -->|Coder| D[GREEN Code]
|
|
12
|
+
```
|
|
13
|
+
|
|
5
14
|
## Installation
|
|
6
15
|
|
|
7
16
|
### From PyPI
|
|
@@ -35,9 +44,9 @@ atdd --help
|
|
|
35
44
|
```bash
|
|
36
45
|
atdd init # Initialize ATDD in your project
|
|
37
46
|
atdd gate # ⚠️ START EVERY SESSION WITH THIS
|
|
38
|
-
atdd session new
|
|
47
|
+
atdd session new <capability> # Create a planning session
|
|
39
48
|
atdd sync # Sync rules to agent config files
|
|
40
|
-
atdd
|
|
49
|
+
atdd validate # Run all validators
|
|
41
50
|
```
|
|
42
51
|
|
|
43
52
|
> **⚠️ `atdd gate` is required.**
|
|
@@ -53,6 +62,22 @@ ATDD provides:
|
|
|
53
62
|
3. **ATDD Lifecycle** - Planner → Tester → Coder phase gates
|
|
54
63
|
4. **Agent Config Sync** - Keep ATDD rules in sync across AI agent config files
|
|
55
64
|
|
|
65
|
+
```mermaid
|
|
66
|
+
flowchart LR
|
|
67
|
+
A[Job to be Done] -->|Planner| B[Wagon + Acceptance Criteria]
|
|
68
|
+
B -->|Tester| C[RED Tests]
|
|
69
|
+
C -->|Coder| D[GREEN Code]
|
|
70
|
+
D -->|Coder| E[REFACTOR]
|
|
71
|
+
E -.->|feedback| B
|
|
72
|
+
|
|
73
|
+
subgraph "ATDD Lifecycle"
|
|
74
|
+
B
|
|
75
|
+
C
|
|
76
|
+
D
|
|
77
|
+
E
|
|
78
|
+
end
|
|
79
|
+
```
|
|
80
|
+
|
|
56
81
|
## Commands
|
|
57
82
|
|
|
58
83
|
### Project Initialization
|
|
@@ -182,19 +207,23 @@ Before starting work, confirm you have loaded these rules.
|
|
|
182
207
|
### Validation
|
|
183
208
|
|
|
184
209
|
```bash
|
|
185
|
-
atdd
|
|
186
|
-
atdd
|
|
187
|
-
atdd
|
|
188
|
-
atdd
|
|
189
|
-
atdd --quick
|
|
210
|
+
atdd validate # Run all validators
|
|
211
|
+
atdd validate planner # Planning validators only
|
|
212
|
+
atdd validate tester # Testing validators only
|
|
213
|
+
atdd validate coder # Implementation validators only
|
|
214
|
+
atdd validate --quick # Fast smoke test
|
|
215
|
+
atdd validate --coverage # With coverage report
|
|
216
|
+
atdd validate --html # With HTML report
|
|
190
217
|
```
|
|
191
218
|
|
|
192
219
|
### Other Commands
|
|
193
220
|
|
|
194
221
|
```bash
|
|
195
|
-
atdd
|
|
196
|
-
atdd
|
|
197
|
-
atdd --
|
|
222
|
+
atdd status # Platform status
|
|
223
|
+
atdd inventory # Generate artifact inventory
|
|
224
|
+
atdd inventory --format json # Inventory as JSON
|
|
225
|
+
atdd registry update # Update all registries
|
|
226
|
+
atdd --help # Full help
|
|
198
227
|
```
|
|
199
228
|
|
|
200
229
|
## Project Structure
|
|
@@ -250,7 +279,7 @@ pytest --cov=atdd --cov-report=html
|
|
|
250
279
|
|
|
251
280
|
1. Create `src/atdd/{phase}/validators/test_{name}.py`
|
|
252
281
|
2. Write pytest test functions
|
|
253
|
-
3. Run `atdd
|
|
282
|
+
3. Run `atdd validate {phase}`
|
|
254
283
|
|
|
255
284
|
Validators are auto-discovered by pytest.
|
|
256
285
|
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "atdd"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.4.1"
|
|
8
8
|
description = "ATDD Platform - Acceptance Test Driven Development toolkit"
|
|
9
9
|
requires-python = ">=3.10"
|
|
10
10
|
readme = "README.md"
|
|
@@ -35,3 +35,8 @@ where = ["src"]
|
|
|
35
35
|
[tool.pytest.ini_options]
|
|
36
36
|
pythonpath = ["src"]
|
|
37
37
|
testpaths = ["src/atdd"]
|
|
38
|
+
markers = [
|
|
39
|
+
"tester: marks tests as tester validators",
|
|
40
|
+
"platform: marks tests as platform validators",
|
|
41
|
+
"security: marks tests as security validators",
|
|
42
|
+
]
|