1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# Project Context
## Overview
`gemcms` is a command-line CMS for creating and maintaining Gemini capsules with minimal ceremony. It should make common capsule work easy: creating a whole capsule in one command, importing files or directories, creating pages, articles, menus, generated blocks, static builds, and validation.
The target user is comfortable with a terminal and wants file-based content that remains editable, versionable, and deployable without a database.
## Stack
- Language: Go
- Interface: CLI
- Storage: files in the capsule project directory
- Database: none
- Deployment: static generated `public/` directory, publish command planned later
## Architecture
- `cmd/gemcms`: executable entrypoint.
- `internal/cli`: argument parsing and command dispatch.
- `internal/cms`: project creation, content import, content parsing, menu/widget config, build, status, and checks.
The CMS core should be callable without the CLI so tests can cover behavior directly.
## Constraints
- Use a small TOML-like subset for `capsule.toml`, menus, widgets, and content frontmatter until a dependency is justified.
- Do not store secrets in project files.
- Generated output must be Gemini-native Gemtext.
- Widgets are static build-time blocks, not runtime components.
- Directory imports should accept Markdown/Gemtext files and ignore unrelated files.
## Links
- Project root: `/home/gabriel1/.codex/projects/gemcms`
|