BaryoDev / BaryoDev/barakoCMS

Starter templates: a headless CMS with no starting point

Open
#188 2 comments 0 reactions 1 assignee Claimed by @arnelirobles View on GitHub
enhancement help wanted
Dominant language
C#
Stars
6
Forks
7
Avg merge
4h 42m
Merged PRs (30d)
307

Description

**Blocked by #182 for the TypeScript targets, and by #186 for the .NET one.**

## Why starters

barakoCMS is headless, so the frontend is the consumer's problem, and that is the hardest moment of adopting it. A starter that fetches real content, handles auth and deploys removes it.

## Why not yet

A starter is mostly a client plus some screens. Building one before the client layer settles means the starter *contains* the client, and then the starter becomes the de facto client for everyone who copies it.

| target | client | state |
|---|---|---|
| Next.js, React | `@baryodev/barako-client` | exists, and baryo.dev is the proof |
| React Native, Expo | the same package | zero dependencies and isomorphic, so it *should* work. **Nobody has run it** |
| MAUI, Blazor | none | #186 |
| native iOS, Android | none | out of scope: React Native and MAUI already reach mobile |

## The one to build first

**Next.js.** The client exists, baryo.dev already renders from it in production, so the starter is assembly rather than invention.

**React Native second, and it needs a check before it is promised.** "Isomorphic and zero dependencies" should mean it runs under Metro and Hermes. Should is not verified. Run the client in a bare Expo app before anyone writes a starter around it, because if it needs a polyfill, that is a client change and not a starter change.

## What makes a starter good rather than present

- **It fetches real content** from a real instance on first run, not fixtures. The moment worth engineering is the one where someone sees their own content appear.
- **It shows the auth path**, because that is the part people get wrong and the part the base client exists for.
- **It says what it is not.** A starter that quietly includes a design system, a state library and an ORM is a template someone has to delete their way out of.
- **CI builds it on a schedule**, against the published client. A stale starter is worse than none: it fails on step three and the reader concludes the project is abandoned. This is the same failure that left three BaryoDev repos red for days without a commit.

## Where they live

Decide before building: separate repos, a `starters/` directory here, or templates behind `create-baryo-app`. Each is defensible and they have different discovery and maintenance properties. Not settled.

Design: `docs/2026-08-18-client-layer-design.md`.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.