{"id":18406314,"url":"https://github.com/programmatordev/kirby-starter","last_synced_at":"2026-01-18T00:36:27.288Z","repository":{"id":237012774,"uuid":"781967987","full_name":"programmatordev/kirby-starter","owner":"programmatordev","description":"A very opinionated Kirby CMS development stack with DDEV, Vite, Alpine.js and TailwindCSS","archived":false,"fork":false,"pushed_at":"2025-04-02T15:30:00.000Z","size":13972,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-04-02T15:31:03.732Z","etag":null,"topics":["alpinejs","ddev","kirby","kirby-cms","tailwind","vite"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/programmatordev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-04T11:40:37.000Z","updated_at":"2025-02-28T18:35:34.000Z","dependencies_parsed_at":"2024-09-13T23:41:46.556Z","dependency_job_id":"e7a702f9-1d56-4006-911e-f19c7aa20c28","html_url":"https://github.com/programmatordev/kirby-starter","commit_stats":null,"previous_names":["programmatordev/kirby-starter"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/programmatordev%2Fkirby-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/programmatordev%2Fkirby-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/programmatordev%2Fkirby-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/programmatordev%2Fkirby-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/programmatordev","download_url":"https://codeload.github.com/programmatordev/kirby-starter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247620388,"owners_count":20968202,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alpinejs","ddev","kirby","kirby-cms","tailwind","vite"],"created_at":"2024-11-06T03:08:15.722Z","updated_at":"2026-01-18T00:36:27.235Z","avatar_url":"https://github.com/programmatordev.png","language":"PHP","readme":"# Kirby Starter\n\nA very (very!) opinionated [Kirby CMS](https://getkirby.com/) development stack.\n\n\u003e [!IMPORTANT]\n\u003e This project is intended for internal use.\n\u003e This means that the development approach will always be in virtue of how we work with our clients or our own projects, and you may disagree with them.\n\u003e Still, we are open for discussion, so feel free to ask for any features or changes.\n\u003e We just want to be clear in advance.\n\n## Features\n\n- 🐳 Uses [DDEV](https://ddev.com/), a Docker-based development environment;\n- ⚡️️ [Vite](https://vitejs.dev/) with the [kirby-vite](https://github.com/arnoson/kirby-vite) plugin;\n- 🍃 CSS with the [Tailwind CSS](https://tailwindcss.com/) framework;\n- 🔪 [Blade](https://laravel.com/docs/blade) as the templating engine with the [kirby-blade](https://github.com/lukasleitsch/kirby-blade) plugin;\n- 🚕 Pages transitions and preloading with [Taxi.js](https://taxi.js.org/);\n- ⛰ Reactivity with [Alpine.js](https://alpinejs.dev/);\n- 🔎 SEO management with the [kirby-seo](https://github.com/tobimori/kirby-seo) plugin;\n- 🌱 Environment variables with the [kirby-env](https://github.com/beebmx/kirby-env) plugin;\n- and more...\n\n## Documentation\n\n- [Get Started](#get-started)\n- [Development](#development)\n  - [Kirby CLI](#kirby-cli)\n  - [Templating Engine](#templating-engine)\n  - [Assets](#assets)\n  - [CSS and JS Assets Handling](#css-and-js-assets-handling)\n  - [Static Assets Handling](#static-assets-handling)\n- [Production](#production)\n- [User Roles](#user-roles)\n- [Cookie Consent Notification (GDPR compliance)](#cookie-consent-notification)\n- [Acknowledgments](#acknowledgments)\n\n## Get Started\n\nBefore starting, make sure you have [DDEV](https://ddev.com/get-started/) installed. \nIf not, follow their instructions [here](https://ddev.com/get-started/).\n\n`STEP 1`\n\nDownload this project to a directory of your choice.\n\n`STEP 2`\n\nOpen the `.ddev/config.yaml` file and update the `name` property to match your project's name. \nThis setting determines the domain for your local environment.\n\nFor example, if you set `name` to `my-project`, your local domain will be `https://my-project.ddev.site`.\n\n`STEP 3` \n\nOn your terminal, go to your project directory and run the following commands:\n\n```bash\n# initialize Docker and all required containers\n# the local domain will be given to you at the end of this process (check step 2)\nddev start\n```\n\n```bash\n# install PHP dependencies\nddev composer install\n```\n\n```bash\n# install Node.js dependencies\nddev npm install\n```\n\n`STEP 4` \n\nInclude a `.env` file in your project root.\nA `.env.example` file already exists, so you can either rename it or create a new one.\n\n`STEP 5` \n\nRun the following command to start development mode:\n\n```bash\nddev npm run dev\n```\n\n## Development\n\nThis project uses [Vite](https://vitejs.dev/) for frontend development.\n\nRun the following command when in development mode:\n\n```bash\nddev npm run dev\n```\n\n### Kirby CLI\n\nThe [Kirby CLI](https://github.com/getkirby/cli) is available to help with development. Run the following command for all available options:\n\n```bash\nddev kirby\n```\n\n### Templating Engine\n\n[Blade](https://laravel.com/docs/blade) is used as the templating engine. \nCheck the [plugin documentation](https://github.com/lukasleitsch/kirby-blade) and the [official documentation](https://laravel.com/docs/blade) for more information.\n\n### Assets\n\nAll assets should be included in the `assets` folder in the root directory:\n\n- `assets/styles` for CSS files\n- `assets/scripts` for JS files\n- `assets/images` for images\n- `assets/fonts` for fonts\n\n### CSS and JS Assets Handling\n\nBy default, a global `app.css` and `app.js` are included across the site.\n\n- The `app.css` file should be used for Tailwind CSS;\n- The `app.js` file should be used for JavaScript code across all pages of the site.\n\nTo include other global CSS and JS files, use the following code in the `\u003chead\u003e` of your layout:\n\n```php\n{!! vite().css('path/to/file.css') !!}\n```\n\nFor JS files, always include `defer` for better performance:\n\n```php\n{!! vite().js('path/to/file.js', ['defer' =\u003e true]) !!}\n```\n\n### Static Assets Handling\n\nTo add static assets to a page (images, fonts, etc.), use the following code:\n\n```php\n{{ vite().file('path/to/file.svg') }}\n```\n\nExamples:\n\n```html\n\u003cimg src=\"{{ vite().file('path/to/file.svg') }}\" alt=\"Image\"\u003e\n```\n\n```html\n\u003clink rel=\"preload\" href=\"{{ vite()-\u003efile('path/to/font.woff2') }}\" as=\"font\" type=\"font/woff2\" crossorigin\u003e\n```\n\nFor images in CSS, always enter the path of the image relative to the CSS file.\n\n## Production\n\nBefore deploying the site to production or to check the production version locally, make sure to run the following command:\n\n```bash\nddev npm run build\n```\n\nWhen deploying, set the `APP_DEBUG` environment variable to `false`:\n\n```dotenv\n# .env\n\nAPP_DEBUG=false\n```\n\n## User Roles\n\nBy default, these three user roles are available:\n\n- `admin` all permissions (exclusive for developers);\n- `owner` same as the `admin` role, but with **no access** to the `system` and `languages` panels;\n- `editor` same as the `owner` role, but with **no access** to the `users` panel.\n\nSince the `admin` role is intended for developers only, it will be invisible to all other roles.\nThis is, the users with this role will not appear in the `users` panel and searches, or be accessible.\n\nTo disable this behavior, set the `hideAdminUsers` to `false`:\n\n```php\n// config.php\n\nreturn [\n    // ...\n    'programmatordev.panel-extended.hideAdminUsers' =\u003e false\n];\n```\n\nIf you want to change these permissions, edit the files at `site/blueprints/users` to your needs.\n\n## Cookie Consent Notification\n\nThe cookie consent notification is enabled by default and is synchronized with the settings on the Trackers panel page.\n\nFor example, if you set a `Google Analytics ID`, a Google tag will be added to the website, and the cookie consent notification will adapt to provide users with consent options related to Google Analytics.\n\nAdditional integrations will be included in the future as needed.\n\n## Acknowledgments\n\nThank you to all plugin's authors and contributors. Make sure to check and support them if you can:\n\n- [kirby-blade](https://github.com/lukasleitsch/kirby-blade)\n- [kirby-env](https://github.com/beebmx/kirby-env)\n- [kirby-favicon](https://github.com/moritzebeling/kirby-favicon)\n- [kirby-seo](https://github.com/tobimori/kirby-seo)\n- [kirby-vite](https://github.com/arnoson/kirby-vite)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprogrammatordev%2Fkirby-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprogrammatordev%2Fkirby-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprogrammatordev%2Fkirby-starter/lists"}