atdd 0.2.6__tar.gz → 0.2.8__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.6/src/atdd.egg-info → atdd-0.2.8}/PKG-INFO +14 -15
- {atdd-0.2.6 → atdd-0.2.8}/README.md +13 -14
- {atdd-0.2.6 → atdd-0.2.8}/pyproject.toml +1 -1
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/commands/gate.py +25 -0
- {atdd-0.2.6 → atdd-0.2.8/src/atdd.egg-info}/PKG-INFO +14 -15
- {atdd-0.2.6 → atdd-0.2.8}/LICENSE +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/setup.cfg +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/__init__.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/__main__.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/cli.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/__init__.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/commands/__init__.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/commands/add_persistence_metadata.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/commands/analyze_migrations.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/commands/consumers.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/commands/infer_governance_status.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/commands/initializer.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/commands/interface.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/commands/inventory.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/commands/migration.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/commands/registry.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/commands/session.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/commands/sync.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/commands/test_interface.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/commands/test_runner.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/commands/tests/__init__.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/commands/tests/test_telemetry_array_validation.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/commands/traceability.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/conventions/session.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/overlays/__init__.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/overlays/claude.md +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/schemas/config.schema.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/schemas/manifest.schema.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/templates/ATDD.md +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/templates/SESSION-TEMPLATE.md +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/utils/__init__.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/utils/graph/__init__.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/utils/graph/urn.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/validators/__init__.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/validators/shared_fixtures.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/validators/test_enrich_wagon_registry.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/validators/test_registry.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/validators/test_session_validation.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/validators/test_traceability.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/validators/test_update_feature_paths.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coach/validators/test_validate_contract_consumers.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/__init__.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/conventions/adapter.recipe.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/conventions/backend.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/conventions/boundaries.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/conventions/commons.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/conventions/complexity.recipe.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/conventions/component-naming.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/conventions/design.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/conventions/design.recipe.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/conventions/dto.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/conventions/frontend.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/conventions/green.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/conventions/presentation.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/conventions/refactor.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/conventions/technology.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/conventions/tests/__init__.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/conventions/tests/test_adapter_recipe.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/conventions/tests/test_complexity_recipe.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/conventions/tests/test_component_taxonomy.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/conventions/tests/test_component_urn_naming.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/conventions/tests/test_thinness_recipe.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/conventions/thinness.recipe.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/conventions/train.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/conventions/verification.protocol.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/schemas/design_system.schema.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/validators/__init__.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/validators/test_commons_structure.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/validators/test_complexity.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/validators/test_cross_language_consistency.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/validators/test_design_system_compliance.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/validators/test_dto_testing_patterns.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/validators/test_green_cross_stack_layers.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/validators/test_green_layer_dependencies.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/validators/test_green_python_layer_structure.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/validators/test_green_supabase_layer_structure.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/validators/test_import_boundaries.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/validators/test_init_file_urns.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/validators/test_preact_layer_boundaries.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/validators/test_presentation_convention.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/validators/test_python_architecture.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/validators/test_quality_metrics.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/validators/test_station_master_pattern.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/validators/test_train_infrastructure.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/validators/test_train_urns.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/validators/test_typescript_architecture.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/validators/test_usecase_structure.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/coder/validators/test_wagon_boundaries.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/conftest.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/__init__.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/conventions/acceptance.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/conventions/appendix.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/conventions/artifact-naming.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/conventions/component.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/conventions/criteria.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/conventions/feature.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/conventions/interface.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/conventions/steps.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/conventions/train.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/conventions/wagon.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/conventions/wmbt.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/schemas/acceptance.schema.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/schemas/appendix.schema.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/schemas/component.schema.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/schemas/feature.schema.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/schemas/train.schema.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/schemas/wagon.schema.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/schemas/wmbt.schema.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/validators/__init__.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/validators/conftest.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/validators/test_draft_wagon_registry.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/validators/test_plan_cross_refs.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/validators/test_plan_uniqueness.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/validators/test_plan_urn_resolution.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/validators/test_plan_wagons.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/validators/test_train_validation.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/validators/test_wagon_urn_chain.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/validators/test_wmbt_consistency.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/planner/validators/test_wmbt_vocabulary.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/__init__.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/conventions/artifact.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/conventions/contract.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/conventions/filename.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/conventions/migration.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/conventions/red.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/conventions/routing.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/conventions/telemetry.convention.yaml +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/schemas/a11y.tmpl.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/schemas/artifact.schema.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/schemas/contract.schema.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/schemas/contract.tmpl.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/schemas/db.tmpl.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/schemas/e2e.tmpl.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/schemas/edge_function.tmpl.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/schemas/event.tmpl.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/schemas/http.tmpl.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/schemas/job.tmpl.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/schemas/load.tmpl.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/schemas/metric.tmpl.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/schemas/pack.schema.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/schemas/realtime.tmpl.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/schemas/rls.tmpl.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/schemas/script.tmpl.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/schemas/sec.tmpl.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/schemas/storage.tmpl.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/schemas/telemetry.schema.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/schemas/telemetry_tracking_manifest.schema.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/schemas/test_filename.schema.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/schemas/test_intent.schema.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/schemas/unit.tmpl.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/schemas/visual.tmpl.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/schemas/ws.tmpl.json +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/utils/__init__.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/utils/filename.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/validators/__init__.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/validators/cleanup_duplicate_headers.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/validators/cleanup_duplicate_headers_v2.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/validators/conftest.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/validators/coverage_gap_report.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/validators/fix_dual_ac_references.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/validators/remove_duplicate_lines.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/validators/test_acceptance_urn_filename_mapping.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/validators/test_acceptance_urn_separator.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/validators/test_artifact_naming_category.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/validators/test_contract_schema_compliance.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/validators/test_contracts_structure.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/validators/test_coverage_adequacy.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/validators/test_dual_ac_reference.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/validators/test_fixture_validity.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/validators/test_isolation.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/validators/test_migration_coverage.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/validators/test_migration_criteria.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/validators/test_migration_generation.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/validators/test_python_test_naming.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/validators/test_red_layer_validation.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/validators/test_red_python_layer_structure.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/validators/test_red_supabase_layer_structure.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/validators/test_telemetry_structure.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/validators/test_typescript_test_naming.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/validators/test_typescript_test_structure.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd/version_check.py +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd.egg-info/SOURCES.txt +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd.egg-info/dependency_links.txt +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd.egg-info/entry_points.txt +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/src/atdd.egg-info/requires.txt +0 -0
- {atdd-0.2.6 → atdd-0.2.8}/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.2.
|
|
3
|
+
Version: 0.2.8
|
|
4
4
|
Summary: ATDD Platform - Acceptance Test Driven Development toolkit
|
|
5
5
|
License: MIT
|
|
6
6
|
Requires-Python: >=3.10
|
|
@@ -24,6 +24,12 @@ Acceptance Test Driven Development toolkit for structured planning and conventio
|
|
|
24
24
|
pip install atdd
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
+
### Upgrade
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
pip install --upgrade atdd
|
|
31
|
+
```
|
|
32
|
+
|
|
27
33
|
### For Development
|
|
28
34
|
|
|
29
35
|
```bash
|
|
@@ -41,22 +47,15 @@ atdd --help
|
|
|
41
47
|
## Quick Start
|
|
42
48
|
|
|
43
49
|
```bash
|
|
44
|
-
# Initialize ATDD in your project
|
|
45
|
-
atdd
|
|
46
|
-
|
|
47
|
-
#
|
|
48
|
-
atdd
|
|
49
|
-
|
|
50
|
-
# List sessions
|
|
51
|
-
atdd session list
|
|
52
|
-
|
|
53
|
-
# Sync ATDD rules to agent config files
|
|
54
|
-
atdd sync
|
|
55
|
-
|
|
56
|
-
# Run validators
|
|
57
|
-
atdd --test all
|
|
50
|
+
atdd init # Initialize ATDD in your project
|
|
51
|
+
atdd gate # ⚠️ START EVERY SESSION WITH THIS
|
|
52
|
+
atdd session new my-feature # Create a planning session
|
|
53
|
+
atdd sync # Sync rules to agent config files
|
|
54
|
+
atdd --test all # Run validators
|
|
58
55
|
```
|
|
59
56
|
|
|
57
|
+
> **⚠️ `atdd gate` is required.** Agents skip instruction files but can't ignore tool output. No gate = no ATDD guarantees.
|
|
58
|
+
|
|
60
59
|
## What It Does
|
|
61
60
|
|
|
62
61
|
ATDD provides:
|
|
@@ -10,6 +10,12 @@ Acceptance Test Driven Development toolkit for structured planning and conventio
|
|
|
10
10
|
pip install atdd
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
+
### Upgrade
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
pip install --upgrade atdd
|
|
17
|
+
```
|
|
18
|
+
|
|
13
19
|
### For Development
|
|
14
20
|
|
|
15
21
|
```bash
|
|
@@ -27,22 +33,15 @@ atdd --help
|
|
|
27
33
|
## Quick Start
|
|
28
34
|
|
|
29
35
|
```bash
|
|
30
|
-
# Initialize ATDD in your project
|
|
31
|
-
atdd
|
|
32
|
-
|
|
33
|
-
#
|
|
34
|
-
atdd
|
|
35
|
-
|
|
36
|
-
# List sessions
|
|
37
|
-
atdd session list
|
|
38
|
-
|
|
39
|
-
# Sync ATDD rules to agent config files
|
|
40
|
-
atdd sync
|
|
41
|
-
|
|
42
|
-
# Run validators
|
|
43
|
-
atdd --test all
|
|
36
|
+
atdd init # Initialize ATDD in your project
|
|
37
|
+
atdd gate # ⚠️ START EVERY SESSION WITH THIS
|
|
38
|
+
atdd session new my-feature # Create a planning session
|
|
39
|
+
atdd sync # Sync rules to agent config files
|
|
40
|
+
atdd --test all # Run validators
|
|
44
41
|
```
|
|
45
42
|
|
|
43
|
+
> **⚠️ `atdd gate` is required.** Agents skip instruction files but can't ignore tool output. No gate = no ATDD guarantees.
|
|
44
|
+
|
|
46
45
|
## What It Does
|
|
47
46
|
|
|
48
47
|
ATDD provides:
|
|
@@ -35,6 +35,19 @@ class ATDDGate:
|
|
|
35
35
|
"""
|
|
36
36
|
self.target_dir = target_dir or Path.cwd()
|
|
37
37
|
self.syncer = AgentConfigSync(self.target_dir)
|
|
38
|
+
self.package_root = Path(__file__).parent.parent # src/atdd/coach
|
|
39
|
+
self.session_convention = self.package_root / "conventions" / "session.convention.yaml"
|
|
40
|
+
|
|
41
|
+
def _load_session_convention(self) -> Optional[str]:
|
|
42
|
+
"""
|
|
43
|
+
Load the session convention content.
|
|
44
|
+
|
|
45
|
+
Returns:
|
|
46
|
+
File content or None if missing.
|
|
47
|
+
"""
|
|
48
|
+
if not self.session_convention.exists():
|
|
49
|
+
return None
|
|
50
|
+
return self.session_convention.read_text()
|
|
38
51
|
|
|
39
52
|
def _compute_block_hash(self, content: str) -> Optional[str]:
|
|
40
53
|
"""
|
|
@@ -106,10 +119,13 @@ class ATDDGate:
|
|
|
106
119
|
print("Run 'atdd init' to set up ATDD in this repo.")
|
|
107
120
|
return 1
|
|
108
121
|
|
|
122
|
+
session_convention = self._load_session_convention()
|
|
123
|
+
|
|
109
124
|
if json:
|
|
110
125
|
output = {
|
|
111
126
|
"files": files,
|
|
112
127
|
"constraints": self.KEY_CONSTRAINTS,
|
|
128
|
+
"session_convention": session_convention,
|
|
113
129
|
}
|
|
114
130
|
print(json_module.dumps(output, indent=2))
|
|
115
131
|
return 0
|
|
@@ -132,6 +148,15 @@ class ATDDGate:
|
|
|
132
148
|
for i, constraint in enumerate(self.KEY_CONSTRAINTS, 1):
|
|
133
149
|
print(f" {i}. {constraint}")
|
|
134
150
|
|
|
151
|
+
print("\n" + "=" * 60)
|
|
152
|
+
print("Session Convention")
|
|
153
|
+
print("=" * 60)
|
|
154
|
+
|
|
155
|
+
if session_convention is None:
|
|
156
|
+
print(f"Warning: session convention not found at {self.session_convention}")
|
|
157
|
+
else:
|
|
158
|
+
print(session_convention.rstrip())
|
|
159
|
+
|
|
135
160
|
print("\n" + "-" * 60)
|
|
136
161
|
print("Before starting work, confirm you have loaded these rules.")
|
|
137
162
|
print("-" * 60)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: atdd
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.8
|
|
4
4
|
Summary: ATDD Platform - Acceptance Test Driven Development toolkit
|
|
5
5
|
License: MIT
|
|
6
6
|
Requires-Python: >=3.10
|
|
@@ -24,6 +24,12 @@ Acceptance Test Driven Development toolkit for structured planning and conventio
|
|
|
24
24
|
pip install atdd
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
+
### Upgrade
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
pip install --upgrade atdd
|
|
31
|
+
```
|
|
32
|
+
|
|
27
33
|
### For Development
|
|
28
34
|
|
|
29
35
|
```bash
|
|
@@ -41,22 +47,15 @@ atdd --help
|
|
|
41
47
|
## Quick Start
|
|
42
48
|
|
|
43
49
|
```bash
|
|
44
|
-
# Initialize ATDD in your project
|
|
45
|
-
atdd
|
|
46
|
-
|
|
47
|
-
#
|
|
48
|
-
atdd
|
|
49
|
-
|
|
50
|
-
# List sessions
|
|
51
|
-
atdd session list
|
|
52
|
-
|
|
53
|
-
# Sync ATDD rules to agent config files
|
|
54
|
-
atdd sync
|
|
55
|
-
|
|
56
|
-
# Run validators
|
|
57
|
-
atdd --test all
|
|
50
|
+
atdd init # Initialize ATDD in your project
|
|
51
|
+
atdd gate # ⚠️ START EVERY SESSION WITH THIS
|
|
52
|
+
atdd session new my-feature # Create a planning session
|
|
53
|
+
atdd sync # Sync rules to agent config files
|
|
54
|
+
atdd --test all # Run validators
|
|
58
55
|
```
|
|
59
56
|
|
|
57
|
+
> **⚠️ `atdd gate` is required.** Agents skip instruction files but can't ignore tool output. No gate = no ATDD guarantees.
|
|
58
|
+
|
|
60
59
|
## What It Does
|
|
61
60
|
|
|
62
61
|
ATDD provides:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{atdd-0.2.6 → atdd-0.2.8}/src/atdd/tester/validators/test_acceptance_urn_filename_mapping.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|