AI prompts
base on Prototype of a new kind of Drupal, based on recipes and loaded up with contrib's best modules and themes. Not a fork or a distribution. ## This project has moved to [GitLab on drupal.org](https://git.drupalcode.org/project/drupal_cms).
---
![build status](https://github.com/phenaproxima/starshot-prototype/actions/workflows/main.yml/badge.svg)
**This is an experimental prototype. Don't use it for production sites!**
## Drupal CMS
Drupal CMS is Drupal 10, but supercharged with some of the best modules and themes out there, set up in useful ways to help you get started building a site right away. Drupal CMS is built on the [Drupal recipe system](https://drupal.org/project/distributions_recipes), so it doesn't lock you in like a normal distribution would.
[![button.png](.tugboat%2Fbutton.png)](https://main-fw6eaiqwuojqnlnerzwoc8rf2ca8t4qq.tugboatqa.com/)
[Learn more about Drupal CMS on drupal.org.](https://drupal.org/starshot)
<hr/>
* [Installation](#installation)
* [Who this is for](#who-this-is-for)
* [What this gets you](#what-this-gets-you)
* [How this is different from a distribution](#how-this-is-different-from-a-distribution)
* [Included modules and themes](#included-modules-and-themes)
* [How we choose which modules and themes to include](#how-we-choose-which-modules-and-themes-to-include)
* [Known issues & workarounds](#known-issues--workarounds)
## Installation
If you're using [DDEV](https://ddev.com) (v1.23.0 or later; [see the documentation](https://ddev.readthedocs.io/en/stable/users/install/ddev-upgrade) if you need to upgrade):
```
git clone https://github.com/phenaproxima/starshot-prototype.git drupal-cms
cd drupal-cms && ddev quick-start
```
Or, if you're not:
```
composer create-project drupal/drupal-cms-project --repository='{"type":"vcs","url":"https://github.com/phenaproxima/starshot-prototype"}' --stability=dev
cd drupal-cms-project && composer quick-start
```
This will install Drupal CMS and open it in a web browser for you to play with. You'll get all the modules and themes listed below, pre-configured.
## Who this is for
Anyone who wants to create a website with Drupal, but doesn't want to build it -- including the authoring experience -- from the ground up using the relatively bare-bones tools provided by Drupal core. You need extra modules to get the most out of Drupal, but it can be hard to know how to start.
Drupal CMS's purpose is to get you going with the most useful tools favored by the Drupal community, as quickly and easily as possible.
## What this gets you
* Useful content types, already set up for translation, meta tags, pretty URLs, moderation, and scheduling.
* A standard set of media types, with some enhancements (setting an image's focal point, for example, or better linking to uploaded documents).
* An amazingly full-featured platform for building web forms with anti-spam protection.
* A much nicer administrative experience than you'd get with plain Drupal, based on the Gin theme, plus the Navigation, Coffee, and Project Browser modules.
* Basic niceties:
* An XML site map
* Better date and time fields
* The ability to set up redirects
* Better handling of files on disk
* The ability to clone content
* Comparing different versions of content
* Email notifications when a comment is posted
* Logging in with your email address instead of a username
* Some sample content, so you're not starting from nothing.
## How this is different from a distribution
Distributions are based on install profiles, and therefore have a lock-in effect. If you start a site on a distribution, you can't really stop using that distribution -- at least, not easily. Drupal CMS uses recipes to give you a strong starting point, but there is no lock-in.
We don't _quite_ support this yet, but you'll also be able to use Drupal CMS's components on an _existing_ site too. That's the power of recipes!
## Included modules and themes
* [Address](https://drupal.org/project/address)
* [Antibot](https://drupal.org/project/antibot)
* [Automatic Updates](https://drupal.org/project/automatic_updates)
* [Coffee](https://drupal.org/project/coffee)
* [Diff](https://drupal.org/project/diff)
* [Easy Breadcrumb](https://drupal.org/project/easy_breadcrumb)
* [ECA (Event - Condition - Action)](https://drupal.org/project/eca)
* [Editoria11y Accessibility Checker](https://www.drupal.org/project/editoria11y)
* [Focal Point](https://drupal.org/project/focal_point)
* [Geocoder](https://drupal.org/project/geocoder)
* [Geofield](https://drupal.org/project/geofield)
* [Gin](https://drupal.org/project/gin)
* [Gin Toolbar](https://drupal.org/project/gin_toolbar)
* [Honeypot](https://drupal.org/project/honeypot)
* [Leaflet More Maps](https://drupal.org/project/leaflet_more_maps)
* [Linkit](https://drupal.org/project/linkit)
* [Login Email or Username](https://drupal.org/project/login_emailusername)
* [Media Entity Download](https://drupal.org/project/media_entity_download)
* [Media File Delete](https://drupal.org/project/media_file_delete)
* [Metatag](https://drupal.org/project/metatag)
* [Pathauto](https://drupal.org/project/pathauto)
* [Project Browser](https://drupal.org/project/project_browser)
* [Quick Node Clone](https://drupal.org/project/quick_node_clone)
* [Redirect](https://drupal.org/project/redirect)
* [Simple Add More](https://drupal.org/project/sam)
* [Scheduler](https://drupal.org/project/scheduler)
* [Simple Sitemap](https://drupal.org/project/simple_sitemap)
* [Smart Date](https://drupal.org/project/smart_date)
* [Type Tray](https://drupal.org/project/type_tray)
* [ULI Custom Workflow](https://drupal.org/project/uli_custom_workflow)
* [Upgrade Status](https://www.drupal.org/project/upgrade_status)
* [Webform](https://drupal.org/project/webform)
...and, of course, [Drush](https://www.drush.org).
## How we choose which modules and themes to include
Right now it's pretty much "let's add whatever we think is useful for most people". [We're working on defining a policy and process for this.](https://github.com/phenaproxima/starshot-prototype/issues/11) If you have an idea for a module to include, by all means [open an issue](https://github.com/phenaproxima/starshot-prototype/issues/new/choose)!
Several formal work tracks have been defined for Drupal CMS; [see the relevant issue on drupal.org](https://www.drupal.org/project/starshot/issues/3454529).
## Known issues & workarounds
### `Error: unknown command "quick-start" for "ddev"`
If you see an error like this, you probably previously set up Drupal CMS with DDEV in another directory with the same name as the current one. DDEV can't have two projects with the same name, so change the directory name to something unique and try `ddev quick-start` again.
### Server timeout
Some users might experience a timeout after logging into Drupal CMS, particularly when the PHP web server remains idle for some time.
You may see an error like this:
```
The process "test -n "$CI" || composer drupal:run-server" exceeded the timeout of 300 seconds.
```
If you encounter this, you can restart the server using the following command:
```
composer drupal:run-server
```
### Using Project Browser with DDEV
If you're using DDEV, prefix the terminal commands suggested by Project Browser with `ddev exec`.
", Assign "at most 3 tags" to the expected json: {"id":"10005","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"