AI prompts
base on Build complex Ecommerce store frontends and connect to any backend https://discord.gg/BdaJVZ53sR
<h1 align="center">Daffodil - Storefront that can connect to any ecommerce backend.</h1>
<p align="center">
<img src="apps/daffio/src/assets/appicons/icon-384x384.png" alt="daffodil-logo" width="120px" height="120px"/>
<br>
<em>Daffodil is an ecommerce development framework for building high-quality storefronts that can connect to any ecommerce backend.</em>
<br>
</p>
<p align="center">
<a href="https://www.daff.io/"><strong>daff.io</strong></a>
|
<a href="https://demo.daff.io/"><strong>demo.daff.io</strong></a>
</p>
<p align="center">
<a href="https://discord.gg/BdaJVZ53sR">
<img src="https://img.shields.io/discord/777920696583454740" alt="Chat on Discord">
</a>
<a href="https://github.com/graycoreio/daffodil/actions/workflows/build.yml">
<img src="https://github.com/graycoreio/daffodil/actions/workflows/build.yml/badge.svg" alt="Build Status">
</a>
<a href="https://www.github.com/graycoreio/daffodil">
<img src="https://img.shields.io/static/v1.svg?label=stability&message=prerelease&color=3eff85" alt="Pre-release">
</a>
</p>
## Demo
Wanna see what we're trying to do? [Check out the demo.][demo]
## Quickstart
From a new Angular app, simply run
```bash
npx ng add @daffodil/commerce
```
## Documentation
Get started with Daffodil, learn the fundamentals and explore advanced topics on our documentation website.
- [Getting Started][quickstart]
- [Learn about drivers][drivers]
## Contributing
### Contributing Guidelines
Read through our [contributing guidelines][contributing] to learn about our submission process, coding rules, and more.
### Want to Help?
Want to report a bug, contribute some code, or improve the documentation? Excellent! Read up on our guidelines for [contributing][contributing] and then check out one of our issues labeled as <kbd>[good first issue](https://github.com/graycoreio/daffodil/labels/good%20first%20issue)</kbd> or <kbd>[good first challenge](https://github.com/graycoreio/daffodil/issues?q=state%3Aopen%20label%3A%22good%20first%20challenge%22)</kbd>.
### Code of Conduct
Please read and follow our [Code of Conduct][codeofconduct].
## Community
Join the conversation and help the community.
- [Discord][discord]
- [YouTube][youtube]
## Packages <a id="packages"></a>
Below is a table of currently available Daffodil packages.
<!-- AUTOGENERATE_PACKAGE_START -->
| Package | Version | Stability |
|---|---|---|
| [@daffodil/analytics](/libs/analytics/README.md) | [](https://npmjs.com/package/@daffodil/analytics) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/auth](/libs/auth/README.md) | [](https://npmjs.com/package/@daffodil/auth) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/authorizenet](/libs/authorizenet/README.md) | [](https://npmjs.com/package/@daffodil/authorizenet) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/cart](/libs/cart/README.md) | [](https://npmjs.com/package/@daffodil/cart) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/cart-customer](/libs/cart-customer/README.md) | [](https://npmjs.com/package/@daffodil/cart-customer) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/cart-store-credit](/libs/cart-store-credit/README.md) | [](https://npmjs.com/package/@daffodil/cart-store-credit) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/category](/libs/category/README.md) | [](https://npmjs.com/package/@daffodil/category) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/checkout](/libs/checkout/README.md) | [](https://npmjs.com/package/@daffodil/checkout) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/contact](/libs/contact/README.md) | [](https://npmjs.com/package/@daffodil/contact) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/content](/libs/content/README.md) | [](https://npmjs.com/package/@daffodil/content) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/core](/libs/core/README.md) | [](https://npmjs.com/package/@daffodil/core) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/customer](/libs/customer/README.md) | [](https://npmjs.com/package/@daffodil/customer) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/customer-auth](/libs/customer-auth/README.md) | [](https://npmjs.com/package/@daffodil/customer-auth) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/customer-order](/libs/customer-order/README.md) | [](https://npmjs.com/package/@daffodil/customer-order) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/customer-payment](/libs/customer-payment/README.md) | [](https://npmjs.com/package/@daffodil/customer-payment) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/customer-payment-authorizenet](/libs/customer-payment-authorizenet/README.md) | [](https://npmjs.com/package/@daffodil/customer-payment-authorizenet) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/customer-store-credit](/libs/customer-store-credit/README.md) | [](https://npmjs.com/package/@daffodil/customer-store-credit) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/design](/libs/design/README.md) | [](https://npmjs.com/package/@daffodil/design) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/dev-tools](/libs/dev-tools/README.md) | [](https://npmjs.com/package/@daffodil/dev-tools) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/driver](/libs/driver/README.md) | [](https://npmjs.com/package/@daffodil/driver) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/external-router](/libs/external-router/README.md) | [](https://npmjs.com/package/@daffodil/external-router) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/forms](/libs/forms/README.md) | [](https://npmjs.com/package/@daffodil/forms) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/geography](/libs/geography/README.md) | [](https://npmjs.com/package/@daffodil/geography) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/navigation](/libs/navigation/README.md) | [](https://npmjs.com/package/@daffodil/navigation) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/newsletter](/libs/newsletter/README.md) | [](https://npmjs.com/package/@daffodil/newsletter) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/order](/libs/order/README.md) | [](https://npmjs.com/package/@daffodil/order) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/payment](/libs/payment/README.md) | [](https://npmjs.com/package/@daffodil/payment) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/paypal](/libs/paypal/README.md) | [](https://npmjs.com/package/@daffodil/paypal) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/product](/libs/product/README.md) | [](https://npmjs.com/package/@daffodil/product) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/product-composite](/libs/product-composite/README.md) | [](https://npmjs.com/package/@daffodil/product-composite) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/product-configurable](/libs/product-configurable/README.md) | [](https://npmjs.com/package/@daffodil/product-configurable) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/related-products](/libs/related-products/README.md) | [](https://npmjs.com/package/@daffodil/related-products) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/reviews](/libs/reviews/README.md) | [](https://npmjs.com/package/@daffodil/reviews) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/router](/libs/router/README.md) | [](https://npmjs.com/package/@daffodil/router) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/router-store](/libs/router-store/README.md) | [](https://npmjs.com/package/@daffodil/router-store) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/search](/libs/search/README.md) | [](https://npmjs.com/package/@daffodil/search) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/search-category](/libs/search-category/README.md) | [](https://npmjs.com/package/@daffodil/search-category) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/search-product](/libs/search-product/README.md) | [](https://npmjs.com/package/@daffodil/search-product) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/search-product-composite](/libs/search-product-composite/README.md) | [](https://npmjs.com/package/@daffodil/search-product-composite) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/search-product-configurable](/libs/search-product-configurable/README.md) | [](https://npmjs.com/package/@daffodil/search-product-configurable) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/seo](/libs/seo/README.md) | [](https://npmjs.com/package/@daffodil/seo) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/ssr](/libs/ssr/README.md) | [](https://npmjs.com/package/@daffodil/ssr) | [](https://www.github.com/graycoreio/daffodil)
| [@daffodil/upsell-products](/libs/upsell-products/README.md) | [](https://npmjs.com/package/@daffodil/upsell-products) | [](https://www.github.com/graycoreio/daffodil)
<!-- AUTOGENERATE_PACKAGE_END -->
**Note:** About the `checkout` package, it is currently a legacy package; there is no reason to use it. However, the `checkout` package eventually may be filled with extracts from the `cart` and `order` packages.
**Think Daffodil is the bees-knees? Give our repo a star :star: :heart:.**
[contributing]: CONTRIBUTING.md
[quickstart]: https://www.daff.io/docs/guides/getting-started
[drivers]: https://www.daff.io/docs/guides/drivers
[demo]: https://demo.daff.io
[changelog]: CHANGELOG.md
[documentation]: https://www.daff.io/docs/guides/introduction
[codeofconduct]: CODE_OF_CONDUCT.md
[discord]: https://discord.gg/BdaJVZ53sR
[youtube]: https://www.youtube.com/@damienwebdev
", Assign "at most 3 tags" to the expected json: {"id":"14896","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"