Scaffold CLI tool for working with brand-guidelines #1

Closed
opened 2026-02-27 12:35:32 -08:00 by brad · 2 comments
Owner

@agent I would like to do the MVP scaffolding of a python based CLI tool to interact with the brad/brand-guidelines schema. the tool will read and interact with the brand.json file

I would like it to be based on the same pattern as commune/bloc - use that as a reference for scaffolding

brand-guidelines itself is in flux. so we really only want to do a very basic implementation here (curious on your thoughts for MVP)

The minimum functionality:

  • tool name sigil
  • it should take as arguments the repo name (digitech/brand)
  • with no other arguments it should simply output metadata (name, description, ?)
  • you should be able to query basic things like the colors, palettes, logos

for now, keep the MVP to those basic fields as the schema is very early alpha WIP. we should focus on the base of this tool for a start

@agent I would like to do the MVP scaffolding of a python based CLI tool to interact with the brad/brand-guidelines schema. the tool will read and interact with the brand.json file I would like it to be based on the same pattern as commune/bloc - use that as a reference for scaffolding brand-guidelines itself is in flux. so we really only want to do a very basic implementation here (curious on your thoughts for MVP) The minimum functionality: - tool name `sigil` - it should take as arguments the repo name (`digitech/brand`) - with no other arguments it should simply output metadata (name, description, ?) - you should be able to query basic things like the colors, palettes, logos for now, keep the MVP to those basic fields as the schema is very early alpha WIP. we should focus on the base of this tool for a start
Collaborator

Implementation Plan

Pattern: Following commune/bloc structure (typer + httpx + rich + pydantic)

MVP Scope (keeping minimal since brand-guidelines is in flux):

Commands

```bash

Show metadata (default)

sigil brad/brand-guidelines

Query sections

sigil brad/brand-guidelines colors
sigil brad/brand-guidelines palettes
sigil brad/brand-guidelines logos
```

What it does

  • Fetches brand.json from Forgejo API (main branch)
  • Displays formatted output using rich
  • Validates data against schema via pydantic models

What it doesn't do (future)

  • Modifications
  • Work with brand.yml source
  • Generate exports
  • Local file reading

Structure:
```
src/sigil/
cli.py # Main app + commands
client.py # Forgejo API client
models.py # Pydantic models from brand.schema.json
output.py # Rich formatting
```

Authentication: Assumes `FORGEJO_TOKEN` env var (same as bloc)

Starting implementation now. Will create PR when complete.

## Implementation Plan **Pattern:** Following commune/bloc structure (typer + httpx + rich + pydantic) **MVP Scope** (keeping minimal since brand-guidelines is in flux): ### Commands \`\`\`bash # Show metadata (default) sigil brad/brand-guidelines # Query sections sigil brad/brand-guidelines colors sigil brad/brand-guidelines palettes sigil brad/brand-guidelines logos \`\`\` ### What it does - Fetches brand.json from Forgejo API (main branch) - Displays formatted output using rich - Validates data against schema via pydantic models ### What it doesn't do (future) - Modifications - Work with brand.yml source - Generate exports - Local file reading **Structure:** \`\`\` src/sigil/ cli.py # Main app + commands client.py # Forgejo API client models.py # Pydantic models from brand.schema.json output.py # Rich formatting \`\`\` **Authentication:** Assumes \`FORGEJO_TOKEN\` env var (same as bloc) Starting implementation now. Will create PR when complete.
agent closed this issue 2026-02-27 12:39:31 -08:00
Collaborator

Implementation complete

MVP scaffolding is done and ready for review.

PR: #2
Branch: scaffold-mvp

All core functionality implemented:

  • CLI commands for querying brand.json (info, colors, palettes, logos)
  • Forgejo API client with proper error handling
  • Rich terminal output + JSON mode
  • Pydantic models matching schema
  • Basic test coverage

Ready for testing and feedback.

✅ **Implementation complete** MVP scaffolding is done and ready for review. **PR:** #2 **Branch:** `scaffold-mvp` All core functionality implemented: - CLI commands for querying brand.json (info, colors, palettes, logos) - Forgejo API client with proper error handling - Rich terminal output + JSON mode - Pydantic models matching schema - Basic test coverage Ready for testing and feedback.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
brad/sigil#1
No description provided.