doit-ssg is a satellite project that consumes SSG adapters from the poly-ssg-mcp hub, providing a unified interface to build static sites using any of 28 supported generators.
| Tier | Languages & SSGs |
|---|---|
Tier 1 |
Rust (Zola, Cobalt, mdBook), Haskell (Hakyll, Ema), Elixir (Serum, NimblePublisher, Tableau) |
Tier 2 |
Julia (Franklin, Documenter, StaticWebPages), Clojure (Cryogen, Perun, Babashka), Racket (Frog, Pollen), Scala (Laika, ScalaTex) |
Tier 3 |
Kotlin (Orchid), F# (Fornax), OCaml (YOCaml), Nim (Nimrod), Crystal (Marmot), Swift (Publish), D (Reggae), Tcl (Wub), Erlang (Zotonic), Common Lisp (Coleslaw) |
# Clone the repository
git clone https://github.com/hyperpolymath/doit-ssg.git
cd doit-ssg
# Verify setup
just status
# List available adapters
just adaptersdoit-ssg/
├── adapters/ # 28 SSG adapters (synced from hub)
│ ├── zola.js
│ ├── hakyll.js
│ ├── cobalt.js
│ └── ... (28 total)
├── tests/ # Test suite
│ ├── adapters/ # Adapter tests
│ └── e2e/ # End-to-end tests
├── examples/ # Example configurations
│ ├── config/ # Sample configs
│ ├── templates/ # Sample templates
│ └── content/ # Sample content
├── docs/ # Documentation
│ └── api/ # API reference
├── .github/ # GitHub configuration
│ └── workflows/ # CI/CD pipelines
├── justfile # Task automation
├── Mustfile # Mandatory gates
├── cookbook.adoc # CLI/Just/Nickel reference
├── META.scm # Architecture decisions
├── ECOSYSTEM.scm # Ecosystem position
├── STATE.scm # Project state & roadmap
├── PLAYBOOK.scm # Operational runbooks
├── AGENTIC.scm # AI agent configuration
├── NEUROSYM.scm # Neurosymbolic reasoning
└── flake.nix # Nix development environmentEach adapter provides a consistent interface to interact with an SSG:
// Adapter interface
export const name = "SSGName";
export const language = "Language";
export const description = "Brief description";
export async function connect() { /* ... */ }
export async function disconnect() { /* ... */ }
export function isConnected() { /* ... */ }
export const tools = [
{
name: "tool_name",
description: "What the tool does",
inputSchema: { /* JSON Schema */ },
execute: async (params) => { /* ... */ }
}
];This project uses just for task automation. See cookbook.adoc for complete reference.
# Show all commands
just --list
# Common workflows
just build # Build all
just test # Run tests
just lint # Run linters
just ci # Full CI pipeline# Run all tests
just test-all
# Unit tests only
just test-unit
# E2E tests
just test-e2e
# Adapter tests
just test-adaptersThe project uses Scheme-based configuration files for metadata:
| File | Purpose |
|---|---|
|
Architecture Decision Records (ADRs) |
|
Position in hyperpolymath ecosystem |
|
Current state and roadmap |
|
Operational workflows and runbooks |
|
AI agent behavior configuration |
|
Neurosymbolic reasoning patterns |
See STATE.scm for the complete roadmap. Current milestones:
| Version | Name | Status | Target |
|---|---|---|---|
v0.1.0 |
Initial Setup |
Complete |
2025-12-15 |
v0.2.0 |
Build System & Automation |
Complete |
2025-12-24 |
v0.3.0 |
Testing & Quality |
In Progress |
2025-12-31 |
v0.4.0 |
MCP Integration |
Planned |
2026-01-15 |
v0.5.0 |
Nix & Reproducibility |
Planned |
2026-01-31 |
v1.0.0 |
Production Ready |
Planned |
2026-03-01 |
Dual licensed under:
-
MIT (with Palimpsest License philosophical overlay)
-
poly-ssg-mcp - Hub project providing adapters
-
RSR - Repository standards
-
All SSG maintainers for their excellent tools
See CONTRIBUTING.md for guidelines.
-
GitHub Issues - Bug reports
-
GitHub Discussions - Questions
-
See SECURITY.md for security issues