README.md

Drupal Stack Template

An opinionated Drupal + Nostr sandbox project with some default configurations. Some opinions are coming from drpl.ai.sebastix.dev which is a sandbox / playground project experimenting to use AI with Drupal.
Designed as an AI template for https://getstacks.dev/ for let Drupal developers get started building something with Nostr. Or, if you're up to it, you can also start as a non-dev or non-Drupal dev to take the steep learning curve how to build a very flexible website, webapp or platform.

  • [ ] Setup Docker config

    • [ ] Create separate Docker image for development

  • [ ] Add Stacks config with stacks init

    • [ ] Add stacks.json

    • [ ] Add CONTEXT.md

  • [ ] Add Nostr-PHP library

    • [ ] https://packagist.org/packages/swentel/nostr-php

  • [ ] Add Drupal MCP server contrib module

    • [ ] https://www.drupal.org/project/mcp

  • [ ] Add Nostr contrib modules

  • [ ] Add TailwindCSS v4 + daisyUI v5 theme contribs

    • [ ] https://www.drupal.org/project/tailwind_css

    • [ ] https://www.drupal.org/project/daisy_ui

  • [ ] Create / generate some artwork for template

For the Stacks config:

  • [ ] Add drupalatyourfingertips.com for building Drupal stuff

  • [ ] Add nostr-php.dev as a resource for using the Nostr-PHP package as a helper library

  • [ ] Add nostrbook.dev as a resource for doing Nostr stuff

  • [ ] Add instructions how to add custom code within Drupal with modules

  • [ ] Add instructions how to build templates with the Twig templating engine with a custom theme

  • [ ] Add instructions how to apply styling and add UI components within Drupal with a custom theme

  • [ ] Add instructions to use AI agents within Drupal

  • [ ] Add instructions how to update Drupal core + contribs

What is Drupal?

Drupal is well-known as a CMS, but in the last decade it's transformed into a framework for creating all kinds of applications.
It's a framework which excels in flexibility.

But this flexibility comes with a price. How to use Drupal has a steep learning curve. Because of the great flexibility you can do stuff in many ways and often leads to a complex architecture on the long-term.

Why this Stack template?

As it's not easy to use Drupal as a beginner, this is where AI can help you a lot.
That's why the Drupal community is putting a great effort in building tools for integrating AI and are pioneering with an AI strategy with the AI initiative.

With this template it's the goal to help you with the following things:

  • Create and configure content types

  • Page building

  • Content generation

  • Optimize SEO

  • Create a custom theme with your own design (design-to-code transformations)

  • ...

Mandy of these things will be done by AI micro agents within your Drupal instance. With Stacks you are able to orchestrate these agents.

What can you build with Drupal and this Stacks template?

  • A simple website with pages

  • A blog

  • A portfolio

  • A news site

  • An e-commerce platform

  • ...

Docker

See docker/docker-compose.yml.

Start development

  1. cd docker

  2. docker compose up -d

  3. docker compose exec drpl_drupal bash

  4. composer install

  5. drush si standard for a clean site install

  6. Delete existing entities

    • drush entity-delete shortcut delete shortcut entities

  7. Enable devel module drush en devel

  8. Generate a new UUID for the site drush uuid

  9. Save this site UUID value site in system.site.yml

  10. drush cset system.site uuid <the_uuid> for setting the UUID in the database

  11. drush cim for importing current config files

  12. drush cr

  13. Navigate to http://localhost in your browser

What contrib modules & themes are included?

  • Config Split

  • Config Ignore

  • Drush

  • Symfony Mailer

  • Reroute Email

  • Paragraphs

  • Admin Toolbar

  • Admin Dialogs

  • Gin

  • Gin Login

  • Gin Toolbar

  • Admin Dialogs

  • Pathauto

  • Masquerade

  • Metatag

  • Ultimate Cron

  • Media Library Edit

  • Markdown Easy

  • WebP

  • Swiper Formatter

  • Twig Tweak

  • Nostr internet identifier NIP-05

  • Nostr Simple publish

  • Nostr long-form content NIP-23

  • Nostr Dev Kit (NDK)

  • Tailwind CSS

  • Daisy UI

Development only:

  • Coder

  • Devel

  • Security review

  • Webprofiler

  • Drupal Rector

Config split configurations

$config['config_split.config_split.dev']['status'] = TRUE|FALSE;
$config['config_split.config_split.acceptance']['status'] = TRUE|FALSE;
$config['config_split.config_split.production']['status'] = TRUE|FALSE;

settings.local.php

Security checks

@TODO - https://github.com/FriendsOfPHP/security-advisories and https://github.com/fabpot/local-php-security-checker

Code checks

@TODO - https://www.drupal.org/project/coder

Tests

@TODO

Repository Details

name / identifier

drupal-stack-template

nostr clone url

nostr://npub1qe3e5wrvnsgpggtkytxteaqfprz0rgxr8c3l34kk3a9t7e2l3acslezefe/relay.damus.io/drupal-stack-template
just install ngit and run
git clone nostr://...

description

Drupal Stack template for https://getstacks.dev/

git servers

https://relay.ngit.dev/npub1qe3e5wrvnsgpggtkytxteaqfprz0rgxr8c3l34kk3a9t7e2l3acslezefe/drupal-stack-template.git
https://gitnostr.com/npub1qe3e5wrvnsgpggtkytxteaqfprz0rgxr8c3l34kk3a9t7e2l3acslezefe/drupal-stack-template.git
https://ngit-relay.nostrver.se/npub1qe3e5wrvnsgpggtkytxteaqfprz0rgxr8c3l34kk3a9t7e2l3acslezefe/drupal-stack-template.git

maintainers

relays

wss://relay.damus.io
wss://nos.lol
wss://relay.nostr.band
wss://relay.ngit.dev
wss://gitnostr.com
wss://ngit-relay.nostrver.se

earliest unique commit

fee8f4fc1f1e84c07cb892d486b5031e65448b77

gitworkshop.dev logo GitWorkshop.dev