BaryoDev / BaryoDev/barakoCMS

Blueprints: ship a site kit for a vertical, so a client site is configuration

Open
#721 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

client-sites
Dominant language
C#
Stars
6
Forks
7
Avg merge
4h 42m
Merged PRs (30d)
307

Description

Custom blueprints already work. BlueprintCatalog reads Blueprints:Path on every list and
apply, validates a file with the same validator POST /api/content-types uses, and marks it
BuiltIn=false with Source set to the filename. Nothing needs building for the mechanism.

What does not exist is a kit for an actual vertical, which is what turns "someone asks me for a
hospital site" into configuration.

A hospital.json declaring page, department, doctor, announcement, site-settings (singleton),
contact-submission and appointment-request (not deliverable), paired with a matching preset in
barakoPress naming the same fields. Two files, both data, reused per client.

Two constraints that shape how kits are written, both verified:

  • A reference must point at a type declared in the same blueprint, so a kit carries its own page
    type rather than assuming blog was applied first.
  • Applying a blueprint whose type name clashes with an existing one refuses the whole blueprint
    with 409. So a kit is applied to a fresh tenant, not layered onto an existing model.

Worth deciding: whether kits live here, or in a separate BaryoDev site-kits repository mounted at
Blueprints:Path. A separate repo keeps vertical opinions out of the core release, which is
probably right.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading BlueprintCatalog and the validation behavior shared with POST /api/content-types, then inspect how barakoPress presets are structured. Define hospital.json with the listed types and same-blueprint references, and create the matching preset using the same fields. Done means both data files apply successfully to a fresh tenant without name clashes.

Written by the indexing model from the issue text.

Assessment

Tech stack
json
Domain
backend, content
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.