diff options
| author | Gab Virebent <gabriel1@virebent.art> | 2026-07-07 16:24:28 +0200 |
|---|---|---|
| committer | Gab Virebent <gabriel1@virebent.art> | 2026-07-07 16:24:28 +0200 |
| commit | 37f156c30e2a2b01c840d39f0dd2bdbf811732d6 (patch) | |
| tree | e2ce84dc7f88ce0eb312899448f91b7bb93ca8a3 /PROJECT_CONTEXT.md | |
| download | gemcms-37f156c30e2a2b01c840d39f0dd2bdbf811732d6.tar.gz gemcms-37f156c30e2a2b01c840d39f0dd2bdbf811732d6.tar.xz gemcms-37f156c30e2a2b01c840d39f0dd2bdbf811732d6.zip | |
Diffstat (limited to 'PROJECT_CONTEXT.md')
| -rw-r--r-- | PROJECT_CONTEXT.md | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/PROJECT_CONTEXT.md b/PROJECT_CONTEXT.md new file mode 100644 index 0000000..603dfa7 --- /dev/null +++ b/PROJECT_CONTEXT.md @@ -0,0 +1,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` |
