Catalogue & product data
Bundle, grouped, and kit product types
Generated from docs/plan/core/bundle-grouped-and-kit-product-types/PLAN.md in the AstroBaaS repository. Nothing described below is implemented — it is the written plan for it.
This request combines bundle, grouped, and kit product types into one plan. These are three separate features already planned (bundle-products, grouped-products, and kit types). The input list shows this as a duplicate/consolidation. Refer to bundle-products and grouped-products for full details. Kits (variable bundles where customer picks components) are a subset of bundles and do not require separate planning.
The problem
See bundle-products and grouped-products.
What it does
- See bundle-products and grouped-products
What it deliberately does NOT do
Each boundary carries its reason. A boundary without a reason gets crossed by the next person who reads this.
- See bundle-products and grouped-products
Data model
See bundle-products and grouped-products
API
- See bundle-products and grouped-products
Every route added here must also appear in src/pages/openapi.json.ts — a test
fails the build if it does not.
Admin
See bundle-products and grouped-products
The seam — why this is core
See bundle-products and grouped-products
Product modeling is part of base catalog. Limiting to simple and variable is a visible gap.
Dependencies
- See bundle-products and grouped-products
Acceptance checks
Each of these must be able to fail. Before claiming this is done, break the code deliberately and watch each one go red.
- See bundle-products and grouped-products
Risks
See bundle-products and grouped-products
Commercial context
| Suggested price | Core |
| Rival anchor | Magento Open Source: bundles and grouped products ship free. |
The anchor is what the nearest equivalent charges on Shopify or Magento today. It is context for a pricing decision, not the decision.
Generated from the commerce plan. See docs/COMMERCE-PLAN.md for the full
catalogue and ../../AI-GUIDE.md for how to work on this repository.