Skip to main content

ATDD Platform - Acceptance Test Driven Development toolkit

Project description

ATDD

Acceptance Test Driven Development toolkit for structured planning and convention enforcement.

Installation

From GitHub (recommended for now)

pip install git+https://github.com/afokapu/atdd.git

For Development

# Clone the repo
git clone https://github.com/afokapu/atdd.git
cd atdd

# Install in editable mode with dev dependencies
pip install -e ".[dev]"

# Verify installation
atdd --help

Future: PyPI

Once published to PyPI:

pip install atdd

Quick Start

# Initialize ATDD in your project
atdd init

# Create a planning session
atdd session new my-feature

# List sessions
atdd session list

# Run validators
atdd --test all

What It Does

ATDD provides:

  1. Session Management - Structured planning documents with templates and tracking
  2. Convention Enforcement - YAML-based conventions validated via pytest
  3. ATDD Lifecycle - Planner → Tester → Coder phase gates

Commands

Project Initialization

atdd init              # Create atdd-sessions/ and .atdd/ directories
atdd init --force      # Reinitialize (overwrites existing)

Creates:

your-project/
├── atdd-sessions/
│   ├── SESSION-TEMPLATE.md
│   └── archive/
└── .atdd/
    └── manifest.yaml

Session Management

atdd session new <slug>                 # Create new session
atdd session new <slug> --type <type>   # Specify type
atdd session list                       # List all sessions
atdd session archive <id>               # Archive session
atdd session sync                       # Sync manifest with files

Session types: implementation, migration, refactor, analysis, planning, cleanup, tracking

Validation

atdd --test all        # Run all validators
atdd --test planner    # Planning artifacts only
atdd --test tester     # Testing artifacts only
atdd --test coder      # Implementation only
atdd --quick           # Fast smoke test

Other Commands

atdd --status          # Platform status
atdd --inventory       # Generate artifact inventory
atdd --help            # Full help

Project Structure

src/atdd/
├── cli.py                 # Entry point
├── coach/
│   ├── commands/          # CLI command implementations
│   ├── conventions/       # Coach conventions (YAML)
│   ├── schemas/           # JSON schemas
│   ├── templates/         # Session templates
│   └── validators/        # Coach validators
├── planner/
│   ├── conventions/       # Planning conventions
│   ├── schemas/           # Planning schemas
│   └── validators/        # Planning validators
├── tester/
│   ├── conventions/       # Testing conventions
│   ├── schemas/           # Testing schemas
│   └── validators/        # Testing validators
└── coder/
    ├── conventions/       # Coding conventions
    ├── schemas/           # Coder schemas
    └── validators/        # Implementation validators

Development

Setup

git clone https://github.com/afokapu/atdd.git
cd atdd
pip install -e ".[dev]"

Run Tests

# All tests
pytest

# Specific phase
pytest src/atdd/planner/validators/

# With coverage
pytest --cov=atdd --cov-report=html

Adding Validators

  1. Create src/atdd/{phase}/validators/test_{name}.py
  2. Write pytest test functions
  3. Run atdd --test {phase}

Validators are auto-discovered by pytest.

Adding Conventions

  1. Create src/atdd/{phase}/conventions/{name}.convention.yaml
  2. Reference in validators via Path(__file__).parent.parent / "conventions" / "..."

Requirements

  • Python 3.10+
  • pyyaml

Dev dependencies: pytest, pytest-xdist

License

MIT

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

atdd-0.1.0.tar.gz (454.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

atdd-0.1.0-py3-none-any.whl (544.5 kB view details)

Uploaded Python 3

File details

Details for the file atdd-0.1.0.tar.gz.

File metadata

  • Download URL: atdd-0.1.0.tar.gz
  • Upload date:
  • Size: 454.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for atdd-0.1.0.tar.gz
Algorithm Hash digest
SHA256 11d3043f7b2df362c97e9a91aa4d9ad294d2acadaab995fc3f25c0b4a4d83174
MD5 7cd3487d00b992e636beb93065480d4b
BLAKE2b-256 e606ea4e983ef3f539687beadbcb1e31bbdfe768399e189e9ccf2bb2203618cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for atdd-0.1.0.tar.gz:

Publisher: publish.yml on afokapu/atdd

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atdd-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: atdd-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 544.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for atdd-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7854833d99a1add74e3586e5c66cbdfe1c6f3ded28d3fb9eb9edd99f4faacfb9
MD5 f11f55390ac9cc927b8e00f34fdc5d4f
BLAKE2b-256 a916882d833ccd70be94ac8b461819e8fe05d326359db1a57bebc514f9b508da

See more details on using hashes here.

Provenance

The following attestation bundles were made for atdd-0.1.0-py3-none-any.whl:

Publisher: publish.yml on afokapu/atdd

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page