wedevelopnl / silverstripe-grid
Grid-based content block system for SilverStripe
Package info
github.com/wedevelopnl/silverstripe-grid
Language:TypeScript
Type:silverstripe-vendormodule
pkg:composer/wedevelopnl/silverstripe-grid
Requires
- php: ^8.3
- silverstripe/admin: ^3.0
- silverstripe/cms: ^6.0
- silverstripe/framework: ^6.0
- silverstripe/vendor-plugin: ^3.0
- silverstripe/versioned: ^3.0
Requires (Dev)
- cambis/silverstan: ^2.1
- infection/infection: ^0.32
- phpstan/extension-installer: ^1.4
- phpstan/phpstan: ^2.1
- phpstan/phpstan-deprecation-rules: ^2.0
- phpunit/phpunit: ^11.3
- tomasvotruba/type-coverage: ^2.0
Suggests
- silverstripe/reports: Enables the Grid Elements report in CMS → Reports
Conflicts
This package is auto-updated.
Last update: 2026-03-10 16:09:11 UTC
README
Introduction
A grid-based content block system for SilverStripe CMS, enabling structured Section → Row → Column layouts with configurable CSS framework adapters (Bootstrap, Tailwind, Bulma).
Requirements
- PHP ^8.3
- silverstripe/framework ^6.0
- silverstripe/cms ^6.0
- silverstripe/admin ^3.0
- silverstripe/versioned ^3.0
- silverstripe/vendor-plugin ^3.0
- Node >=24 (for frontend build)
Optional:
silverstripe/reportsenables the Grid Elements report in CMS Reports.
Conflict: This module conflicts with
dnadesign/silverstripe-elementaland replaces its functionality.
Installation
composer require wedevelopnl/silverstripe-grid
Development
Prerequisites
- Docker (for PHP tests and dev environment)
- Node >=24 (see
.nvmrc) - Composer
Setup
composer install .docker/env.sh # Generate .docker/.env with auto-assigned ports make up # Start Docker services npm install npm run build # Vite production build
Testing
| Command | Description |
|---|---|
make test |
Run all tests (PHP unit + integration + JS) |
make test-unit |
PHP unit tests only (no database/framework) |
make test-integration |
PHP integration tests (full SilverStripe env) |
npm run test |
Run JavaScript tests (Vitest) |
make test-e2e |
Run Playwright E2E tests (requires running Docker services) |
Quality
| Command | Description |
|---|---|
make analyse |
PHPStan static analysis (level max) |
npm run lint |
oxlint + Stylelint |
npm run typecheck |
TypeScript type checking |
make qa |
Full QA suite (PHPStan + PHP tests + JS QA) |
Architecture
See the architecture documentation for detailed design documents:
- Backend Architecture — data model, API layer, service design, validation, grid adapters
- Drag and Drop — frontend dnd-kit integration and backend reorder pipeline
Issue Tracking with Beads
This project uses Beads for issue tracking. Beads is a git-backed issue tracker that lives in the repository, designed for AI-assisted development workflows.
Quick Start
Install beads (one-time setup):
# Pick one:
npm install -g @beads/bd
brew install beads
go install github.com/steveyegge/beads/cmd/bd@latest
For other installation methods, see the official documentation.
Common commands:
bd ready # Find issues ready to work on bd show <id> # View issue details bd update <id> --status=in_progress # Claim an issue bd close <id> # Mark issue as done bd sync # Sync issues with git remote
Issues are stored in .beads/ and committed alongside code. No external services or web UIs needed.
Changelog
See CHANGELOG.md for release history.
License
See License
Maintainers
Development and contribution
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.