{"id":34832344,"url":"https://github.com/valeravilks/celestial","last_synced_at":"2026-02-13T17:06:20.113Z","repository":{"id":311184478,"uuid":"1033646159","full_name":"valeravilks/celestial","owner":"valeravilks","description":"WordPress FSE starter kit built with modern WordPress-native tools: Full Site Editing theme, custom blocks using @wordpress/create-block, wp-env development environment, and WordPress Scripts for build processes. ","archived":false,"fork":false,"pushed_at":"2026-02-13T15:03:52.000Z","size":1267,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-13T16:09:39.800Z","etag":null,"topics":["fse","starterkit","wordpress","wordpress-create-block","wp-env"],"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/valeravilks.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-07T06:18:33.000Z","updated_at":"2026-02-13T14:00:53.000Z","dependencies_parsed_at":"2025-08-22T17:55:40.890Z","dependency_job_id":"14a41762-924d-4be6-919e-e5518ae46fdb","html_url":"https://github.com/valeravilks/celestial","commit_stats":null,"previous_names":["valeravilks/celestial"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/valeravilks/celestial","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valeravilks%2Fcelestial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valeravilks%2Fcelestial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valeravilks%2Fcelestial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valeravilks%2Fcelestial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/valeravilks","download_url":"https://codeload.github.com/valeravilks/celestial/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valeravilks%2Fcelestial/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29412677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-13T06:24:03.484Z","status":"ssl_error","status_checked_at":"2026-02-13T06:23:12.830Z","response_time":78,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["fse","starterkit","wordpress","wordpress-create-block","wp-env"],"created_at":"2025-12-25T15:56:30.178Z","updated_at":"2026-02-13T17:06:20.103Z","avatar_url":"https://github.com/valeravilks.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Celestial FSE Starter Kit\n\nA modular WordPress Full Site Editing (FSE) starter kit built according to official WordPress architecture principles.\n\n---\n\n## Overview\n\nCelestial is a structured WordPress starter kit that separates concerns into clear layers:\n\n* **Theme** – Presentation layer (design and layout)\n* **Blocks Plugin** – Custom blocks (React / Block API)\n* **Core Plugin** – Site functionality (CPT, meta, integrations, logic)\n* **Editor Layer** – Editor behaviour and policies (optional)\n\nThis separation ensures:\n\n* Themes can be switched without breaking functionality\n* Business logic does not live inside the theme\n* Custom blocks remain reusable\n* Editor behaviour is controlled in a structured way\n\n---\n\n## Project Structure\n\n```\ncel-theme/     → FSE Theme (presentation layer)\ncel-blocks/    → Custom blocks (create-block)\ncel-core/      → Core functionality (PHP modules)\ncel-editor/    → Editor behaviour (optional, can be merged into core)\n```\n\n---\n\n# 1. Theme (`cel-theme`)\n\nThe theme is responsible only for presentation.\n\nIt contains:\n\n* `theme.json`\n* Templates and template parts\n* Block style variations\n* Theme patterns\n* CSS\n* Optional editor styling\n\nThe theme must not contain:\n\n* CPT registrations\n* Business logic\n* Required editor policies\n* Functional logic\n\nIf the theme is deactivated, the site must continue functioning (only appearance changes).\n\n---\n\n# 2. Blocks Plugin (`cel-blocks`)\n\nContains custom blocks created using:\n\n* `@wordpress/create-block`\n* React\n* WordPress Block API\n* Interactivity API (if used)\n\nEach block lives inside this plugin and is compiled via npm.\n\nAll new blocks must be added only in `cel-blocks/src` using the official `@wordpress/create-block` tool.\nIf a block needs additional npm packages, add them to `cel-blocks/package.json`.\n\n### Responsibilities\n\n* Register blocks\n* Provide editor and frontend scripts\n* Provide block-specific styles\n* Handle block rendering logic\n\nBlocks must work independently from the theme.\n\n---\n\n# 3. Core Plugin (`cel-core`)\n\nContains all site functionality implemented in PHP.\n\n### Responsibilities\n\n* Custom Post Types\n* Taxonomies\n* Meta fields\n* Business logic\n* Integrations\n* Site-level rules\n* Editor policies (if not separated)\n\nEach feature is organized as a module inside its own directory.\n\nExample structure:\n\n```\nsrc/\n  Modules/\n    LandingPages/\n      Module.php\n      PostType.php\n      Meta.php\n```\n\nEach module contains everything related to one functional feature.\n\n---\n\n# 4. Editor Layer (`cel-editor`) *(Optional)*\n\nUsed for:\n\n* Allowed block restrictions\n* Disabling remote patterns\n* Formatting Toolbar extensions\n* Editor behaviour policies\n\nThis layer modifies editor behaviour but does not affect frontend styling.\n\nIt can be merged into `cel-core` as a module if desired.\n\n---\n\n# Development Environment\n\nThis project uses `wp-env` for local development.\n\n## Requirements\n\n* Docker installed and running\n* Node.js installed\n* Composer installed\n\n---\n\n# Setup Instructions\n\n## 1. Start WordPress environment\n\n```\nwp-env start\n```\n\nWordPress will be available at:\n\n* URL: [http://localhost:8888](http://localhost:8888)\n* Username: admin\n* Password: password\n\n---\n\n## 2. Install and run Blocks Plugin\n\n```\ncd cel-blocks\nnpm install\nnpm run start\n```\n\nThis will:\n\n* Compile block assets\n* Watch for changes\n* Automatically rebuild on file updates\n\n---\n\n## 3. Install Core Plugin\n\n```\ncd cel-core\ncomposer install\n```\n\nIf Core contains JS or CSS for admin:\n\n```\nnpm install\nnpm run build\n```\n\n---\n\n## 4. Install Editor Layer (if used)\n\n```\ncd cel-editor\ncomposer install\nnpm install\nnpm run build\n```\n\n---\n\n# Theme Configuration\n\nThe Celestial Theme includes:\n\n* Custom color palette\n* Disabled default WordPress palette\n* Disabled custom colors\n* Fluid typography\n* Custom spacing scale using `clamp()`\n* Removed default core block patterns\n* Design-controlled editor settings\n\nAll design decisions are centralized in `theme.json`.\n\n---\n\n# Philosophy\n\nCelestial follows strict separation of concerns:\n\n* **Theme = How it looks**\n* **Blocks = What content can be built**\n* **Core = What the site can do**\n* **Editor = How content is edited**\n\nNo business logic lives inside the theme.\n\n---\n\n# Documentation\n\n\n## Design System\n- [Color Management](docs/design-system.colors.md)\n- [Typography](docs/design-system.typography.md)\n- [Spacing](docs/design-system.spacing.md)\n- [Custom Blocks](docs/custom-blocks.md)\n\nSee the [`docs`](docs) directory for full development guides.\n---\n\n# Contributing\n\nWhen adding new functionality:\n\n* If it affects visual appearance → Theme\n* If it adds a new block → Blocks plugin\n* If it adds site functionality → Core plugin\n* If it modifies editor behaviour → Editor/Core policy\n\n---\n\n# Changelog\n\nSee `CHANGELOG.md` for release notes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaleravilks%2Fcelestial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvaleravilks%2Fcelestial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaleravilks%2Fcelestial/lists"}