{"_id":"@aaidd/tea","name":"@aaidd/tea","dist-tags":{"latest":"1.2.1"},"versions":{"1.2.1":{"$schema":"https://json.schemastore.org/package.json","name":"@aaidd/tea","version":"1.2.1","description":"Master Test Architect for quality strategy, test automation, and release gates","keywords":["AAIDD","test-architect","testing","quality","automation","playwright","test-engineering"],"repository":{"type":"git","url":"git+https://github.com/AlbinB/aaidd-tea.git"},"license":"MIT","author":{"name":"Murat K Ozcan","url":"TEA Creator"},"main":"","scripts":{"docs:build":"node tools/build-docs.js","docs:dev":"npm --prefix website run dev","docs:fix-links":"node tools/fix-doc-links.js --write","docs:preview":"npm --prefix website run preview","docs:validate-links":"node tools/validate-doc-links.js","format:check":"prettier --check .","format:fix":"prettier --write .","format:fix:staged":"prettier --write","lint":"eslint . --max-warnings 0","lint:fix":"eslint . --fix","lint:md":"markdownlint-cli2 '**/*.md'","prepare":"command -v husky >/dev/null 2>&1 && husky || exit 0","release:alpha":"gh workflow run manual-release.yaml -f version_bump=alpha","release:beta":"gh workflow run manual-release.yaml -f version_bump=beta","release:major":"gh workflow run manual-release.yaml -f version_bump=major","release:minor":"gh workflow run manual-release.yaml -f version_bump=minor","release:patch":"gh workflow run manual-release.yaml -f version_bump=patch","test":"npm run test:schemas && npm run test:install && npm run test:knowledge && npm run validate:schemas && npm run lint && npm run lint:md && npm run format:check","test:coverage":"c8 npm test","test:install":"node test/test-installation-components.js","test:knowledge":"node test/test-knowledge-base.js","test:schemas":"node test/test-agent-schema.js","validate:schemas":"node tools/validate-agent-schema.js"},"lint-staged":{"*.{js,cjs,mjs}":["eslint --fix","prettier --write --ignore-unknown"],"*.yaml":["eslint --fix","prettier --write --ignore-unknown"],"*.json":["prettier --write --ignore-unknown"],"*.md":["markdownlint-cli2 --fix","prettier --write --ignore-unknown"]},"c8":{"all":true,"reporter":["text","html"],"reports-dir":"coverage"},"dependencies":{"@clack/prompts":"^0.11.0","boxen":"^5.1.2","cli-table3":"^0.6.5","commander":"^14.0.0","csv-parse":"^6.1.0","glob":"^11.0.3","ignore":"^7.0.5","js-yaml":"^4.1.0","ora":"^5.4.1","semver":"^7.6.3","wrap-ansi":"^7.0.0","xml2js":"^0.6.2","yaml":"^2.7.0"},"devDependencies":{"@astrojs/sitemap":"^3.6.0","@astrojs/starlight":"^0.37.0","@eslint/js":"^9.33.0","archiver":"^7.0.1","astro":"^5.16.0","c8":"^10.1.3","eslint":"^9.33.0","eslint-config-prettier":"^10.1.8","eslint-plugin-n":"^17.21.3","eslint-plugin-unicorn":"^60.0.0","eslint-plugin-yml":"^1.18.0","husky":"^9.1.7","jest":"^30.0.4","lint-staged":"^16.1.1","markdownlint-cli2":"^0.19.1","prettier":"^3.7.4","prettier-plugin-packagejson":"^2.5.19","sharp":"^0.33.5","yaml-eslint-parser":"^1.2.3","yaml-lint":"^1.7.0"},"engines":{"node":">=20.0.0"},"publishConfig":{"access":"public"},"gitHead":"71d4be0fd7d3b829a744954c7ae7700ed1b3c99e","_id":"@aaidd/tea@1.2.1","bugs":{"url":"https://github.com/AlbinB/aaidd-tea/issues"},"homepage":"https://github.com/AlbinB/aaidd-tea#readme","_nodeVersion":"24.13.1","_npmVersion":"11.10.0","dist":{"integrity":"sha512-pJTvAjlG2mKfBQDpt+SZXThsopc/fV3eioQiSC+gBFrrWkrcfcn1Bo9MIqaIIajlnucjNeiv90Ci9OXI46Hnvw==","shasum":"dcce59038d1e24bdbe34be48079f8888bb9e8924","tarball":"https://registry.npmjs.org/@aaidd/tea/-/tea-1.2.1.tgz","fileCount":221,"unpackedSize":1419314,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDHCgsLSqLtQt73Nse1hcrjNUtUp1FpDJkFvYcGTDxKWgIhANoXbsZvQX8yhsVs50ORC8Vyi26jk8xsBKwbIPiNjBx7"}]},"_npmUser":{"name":"albinb","email":"albinb@live.com"},"directories":{},"maintainers":[{"name":"albinb","email":"albinb@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tea_1.2.1_1772134645016_0.21818526256474713"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-26T19:37:24.887Z","1.2.1":"2026-02-26T19:37:25.262Z","modified":"2026-02-26T19:37:25.565Z"},"maintainers":[{"name":"albinb","email":"albinb@live.com"}],"description":"Master Test Architect for quality strategy, test automation, and release gates","homepage":"https://github.com/AlbinB/aaidd-tea#readme","keywords":["AAIDD","test-architect","testing","quality","automation","playwright","test-engineering"],"repository":{"type":"git","url":"git+https://github.com/AlbinB/aaidd-tea.git"},"author":{"name":"Murat K Ozcan","url":"TEA Creator"},"bugs":{"url":"https://github.com/AlbinB/aaidd-tea/issues"},"license":"MIT","readme":"# Test Architect (TEA)\n\nTEA (Test Engineering Architect) is a standalone AAIDD module that delivers risk-based test strategy, test automation guidance, and release gate decisions. It provides a single expert agent (Murat, Master Test Architect and Quality Advisor) and nine workflows spanning Teach Me Testing (TEA Academy), framework setup, test design, ATDD, automation, traceability, NFR assessment, CI guidance, and test review.\n\nDocs: <https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/>\n\n## Why TEA\n\n- Risk-based testing with measurable quality gates\n- Consistent, knowledge-base driven outputs\n- Clear prioritization (P0-P3) and traceability\n- Optional Playwright Utils, CLI, and MCP browser automation\n\n## How AAIDD Works\n\nAAIDD works because it turns big, fuzzy work into **repeatable workflows**. Each workflow is broken into small steps with clear instructions, so the AI follows the same path every time. It also uses a **shared knowledge base** (standards and patterns) so outputs are consistent, not random. In short: **structured steps + shared standards = reliable results**.\n\n## How TEA Fits In\n\nTEA plugs into AAIDD the same way a specialist plugs into a team. It uses the same step‑by‑step workflow engine and shared standards, but focuses exclusively on testing and quality gates. That means you get a **risk‑based test plan**, **automation guidance**, and **go/no‑go decisions** that align with the rest of the AAIDD process.\n\n## Architecture & Flow\n\nAAIDD is a small **agent + workflow engine**:\n\n- **Agent** = expert persona (e.g., Test Architect).\n- **Workflow** = a guided sequence of step files.\n- **Step file** = one focused instruction set; outputs are written only in the steps that produce them.\n- **Knowledge base** = reusable standards and patterns loaded only when needed.\n- **Modes** = `steps-c/` (Create), `steps-e/` (Edit), `steps-v/` (Validate).\n  - This keeps the create flow separate from editing and validation, and matches Meta Builder conventions.\n\n```mermaid\nflowchart LR\n  U[User] --> A[Agent Persona]\n  A --> W[Workflow Entry: workflow.md]\n  W --> S[Step Files: steps-c / steps-e / steps-v]\n  S --> K[Knowledge Fragments<br/>optional]\n  S --> T[Templates & Checklists<br/>optional]\n  S --> O[Outputs: docs/tests/reports<br/>when a step writes output]\n  O --> V[Validation: checklist + report]\n```\n\n## Install\n\n```bash\nnpx aaidd-method install\n# Select: Test Architect (TEA)\n```\n\n**Note:** TEA is automatically added to party mode after installation. Use `/party` to collaborate with TEA alongside other AAIDD agents.\n\n## Quickstart\n\n1. Install TEA (above)\n2. Run one of the core workflows:\n   - `TD` / `/AAIDD:tea:test-design` — test design and risk assessment\n   - `AT` / `/AAIDD:tea:atdd` — failing acceptance tests first (TDD red phase)\n   - `TA` / `/AAIDD:tea:automate` — expand automation coverage\n3. Or use in party mode: `/party` to include TEA with other agents\n\n## Engagement Models\n\n- **No TEA**: Use your existing testing approach\n- **TEA Solo**: Standalone use on non-AAIDD projects\n- **TEA Lite**: Start with `automate` only for fast onboarding\n- **Integrated (Agile AI-Driven Development / Enterprise)**: Use TEA in Phases 3–4 and release gates\n\n## Workflows\n\n| Trigger | Command                      | Purpose                                       |\n| ------- | ---------------------------- | --------------------------------------------- |\n| TMT     | `/AAIDD:tea:teach-me-testing` | Teach Me Testing (TEA Academy)                |\n| TF      | `/AAIDD:tea:framework`        | Scaffold Playwright/Cypress test framework    |\n| CI      | `/AAIDD:tea:ci`               | Set up CI/CD quality pipeline                 |\n| TD      | `/AAIDD:tea:test-design`      | System-level or epic-level test design        |\n| AT      | `/AAIDD:tea:atdd`             | Generate failing acceptance tests + checklist |\n| TA      | `/AAIDD:tea:automate`         | Expand test automation coverage               |\n| RV      | `/AAIDD:tea:test-review`      | Review test quality and score                 |\n| TR      | `/AAIDD:tea:trace`            | Trace requirements to tests + gate decision   |\n| NR      | `/AAIDD:tea:nfr-assess`       | Assess non-functional requirements            |\n\n## Configuration\n\nTEA variables are defined in `src/module.yaml` and prompted during install:\n\n- `test_artifacts` — base output folder for test artifacts\n- `tea_use_playwright_utils` — enable Playwright Utils integration (boolean)\n- `tea_browser_automation` — browser automation mode: auto, cli, mcp, none (string)\n- `test_framework` — default framework preference (future)\n- `risk_threshold` — risk cutoff for mandatory testing (future)\n- `test_design_output`, `test_review_output`, `trace_output` — subfolders under `test_artifacts`\n\n## Knowledge Base\n\nTEA relies on a curated testing knowledge base:\n\n- Index: `src/testarch/tea-index.csv`\n- Fragments: `src/testarch/knowledge/`\n\nWorkflows load only the fragments required for the current task to stay focused and compliant.\n\n## Module Structure\n\n```\nsrc/\n├── module.yaml\n├── agents/\n│   └── tea.agent.yaml\n├── workflows/\n│   └── testarch/\n│       ├── atdd/\n│       ├── automate/\n│       ├── ci/\n│       ├── framework/\n│       ├── nfr-assess/\n│       ├── teach-me-testing/\n│       ├── test-design/\n│       ├── test-review/\n│       └── trace/\n└── testarch/\n    ├── tea-index.csv\n    └── knowledge/\n```\n\n## Contributing\n\nSee `CONTRIBUTING.md` for guidelines.\n\n---\n\n<details>\n<summary><strong>📦 Release Guide (for Maintainers)</strong></summary>\n\n## Publishing TEA to NPM\n\nTEA uses an automated release workflow that handles versioning, tagging, NPM publishing, and GitHub releases.\n\n### Prerequisites (One-Time Setup)\n\n1. **NPM Token Configuration:**\n   - Generate NPM automation token: [npmjs.com/settings/tokens](https://www.npmjs.com/settings/your-username/tokens)\n   - Add to GitHub Secrets: `Settings` → `Secrets and variables` → `Actions` → `New repository secret`\n   - Name: `NPM_TOKEN`\n   - Value: [your token]\n\n2. **Verify Package Configuration:**\n   ```bash\n   # Check package.json settings\n   cat package.json | grep -A 3 \"publishConfig\"\n   # Should show: \"access\": \"public\"\n   ```\n\n### Release Process\n\n#### Option 1: Using npm Scripts (Recommended)\n\nFrom your local terminal after merging to `main`:\n\n```bash\n# Beta release (first release or testing)\nnpm run release:beta\n\n# Alpha release (early testing)\nnpm run release:alpha\n\n# Patch release (bug fixes)\nnpm run release:patch\n\n# Minor release (new features, backwards compatible)\nnpm run release:minor\n\n# Major release (breaking changes)\nnpm run release:major\n```\n\n#### Option 2: Manual Workflow Trigger\n\n1. Go to **Actions** tab in GitHub\n2. Click **\"Manual Release\"** workflow\n3. Click **\"Run workflow\"**\n4. Select version bump type (alpha, beta, patch, minor, major)\n5. Click **\"Run workflow\"**\n\n### What Happens Automatically\n\nThe workflow performs these steps:\n\n1. ✅ **Validation**: Runs all tests, linting, and format checks\n2. ✅ **Version Bump**: Updates `package.json` version\n   - `beta`: 0.1.0 → 0.1.1-beta.0\n   - `alpha`: 0.1.0 → 0.1.1-alpha.0\n   - `patch`: 0.1.0 → 0.1.1\n   - `minor`: 0.1.0 → 0.2.0\n   - `major`: 0.1.0 → 1.0.0\n3. ✅ **Commit**: Creates version bump commit\n4. ✅ **Tag**: Creates git tag (e.g., v0.1.1-beta.0)\n5. ✅ **Push**: Pushes tag to GitHub\n6. ✅ **Publish**: Publishes to NPM registry\n   - Alpha → `npm install --tag alpha`\n   - Beta → `npm install` (tagged as `latest`)\n   - Stable → `npm install` (tagged as `latest`)\n7. ✅ **GitHub Release**: Creates release with auto-generated notes\n8. ✅ **Summary**: Displays installation instructions\n\n### Version Bump Strategy\n\n**For TEA Module:**\n\n- **Beta (0.1.x-beta.x)**: Pre-1.0 testing, used for initial releases\n- **Alpha (0.1.x-alpha.x)**: Early development, experimental features\n- **Patch (0.1.x)**: Bug fixes, no new features\n- **Minor (0.x.0)**: New features, backwards compatible\n- **Major (x.0.0)**: Breaking changes (e.g., 1.0.0 release)\n\n**Recommended Release Path:**\n\n1. `0.1.0` → `0.1.1-beta.0` (first beta)\n2. Test beta with early adopters\n3. `0.1.1-beta.0` → `0.1.1-beta.1` (fixes)\n4. When stable: `0.1.1-beta.1` → `1.0.0` (official release)\n\n### Verify Publication\n\n**Check NPM:**\n\n```bash\nnpm view bmad-method-test-architecture-enterprise\n```\n\n**Install TEA:**\n\n```bash\nnpx aaidd-method install\n# Select \"Test Architect (TEA)\"\n```\n\n**Test Workflows:**\n\n```bash\n# In your project\ntea              # Load agent\ntest-design      # Test workflow\n```\n\n### Rollback a Release (if needed)\n\nIf you need to unpublish a version:\n\n```bash\n# Unpublish specific version (within 72 hours)\nnpm unpublish bmad-method-test-architecture-enterprise@0.1.1-beta.0\n\n# Deprecate version (preferred for older releases)\nnpm deprecate bmad-method-test-architecture-enterprise@0.1.1-beta.0 \"Use version X.Y.Z instead\"\n```\n\n### Troubleshooting\n\n**\"NPM_TOKEN not found\":**\n\n- Verify secret is set: GitHub repo → Settings → Secrets and variables → Actions\n- Secret name must be exactly: `NPM_TOKEN`\n\n**\"Package already exists\":**\n\n- Check if package name is already taken on NPM\n- Update `name` in `package.json` if needed\n\n**\"Tests failed\":**\n\n- Fix failing tests before release\n- Run `npm test` locally to verify\n\n**\"Git push failed (protected branch)\":**\n\n- This is expected for protected `main` branch\n- The tag and version bump are still created\n- You may need to manually merge the version bump commit\n\n### Release Checklist\n\nBefore releasing:\n\n- [ ] All tests passing: `npm test`\n- [ ] Documentation up to date\n- [ ] CHANGELOG.md updated\n- [ ] No uncommitted changes\n- [ ] On `main` branch\n- [ ] NPM token configured in GitHub Secrets\n- [ ] Package name available on NPM\n\nAfter releasing:\n\n- [ ] Verify NPM publication: `npm view bmad-method-test-architecture-enterprise`\n- [ ] Test installation: `npx aaidd-method install`\n- [ ] Verify workflows work\n- [ ] Check GitHub Release created\n- [ ] Monitor for issues\n\n</details>\n\n---\n\n## License\n\nSee `LICENSE`.\n","readmeFilename":"README.md","_rev":"1-cc473aadc315d0ee0c78e0c96aeaae43"}