Architecture, the Terraform Runner, and Publishing
Part 2 of The AI-Assisted Software Engineering Workflow.
Architecture
The workflow is converging on two complementary control layers.
Declarative External State
Terraform owns infrastructure and service configuration, including:
- GitHub repositories and settings
- Branch protection or rulesets
- GitHub Pages
- Actions variables and secrets where appropriate
- Cloudflare DNS records
- Hosting and other provider-backed resources
Terraform contributes planning, state management, drift detection, idempotency, and the ability to use a large provider ecosystem.
Repository Artifacts and Intelligent Work
Agents and Automator own content and engineering artifacts, including:
- README files
- Agent instructions
- Specifications
- Milestones and tasks
- Documentation
- Reports
- Blog posts
- Reusable protocols
The intended division is:
Desired project state
├── Terraform
│ └── External infrastructure and service configuration
└── Agents / Automator
└── Repository content, reasoning, planning, and generated artifacts
The AI’s long-term role is primarily planner and operator: interpret intent, update the desired state, preview changes, invoke deterministic systems, and review the outcome.
Terraform Runner Plugin
Rather than building separate imperative integrations for GitHub, Cloudflare, hosting platforms, and future providers, Automator needs a thin Terraform runner plugin.
Its initial interface can remain small:
initvalidateplanapplyoutputdestroywith explicit safeguards
Terraform providers supply domain-specific integrations. Automator coordinates them. This keeps the platform focused on orchestration instead of rebuilding mature infrastructure tooling.
Content and Blog Publishing
The blog is live and was brought online in approximately 30 minutes. It is Git-backed and deliberately avoids a database.
The content pipeline is:
YAML source
→ transform
→ validate
→ generate JSON and/or Markdown
→ commit and push
→ serve through GitHub Raw / GitHub Pages
→ website consumes the published data
The authoring interface is intentionally small:
/create-blog— create a draft and required metadata/preview— render, inspect, and validate/publish— commit, push, and trigger deployment
The planned delivery path is:
- Implement and prove the workflow as an AI skill.
- Expose the capability through a public MCP interface.
- Package it as an Automator plugin or NPX command.
- Keep client-specific skills as thin adapters over the shared capability.
The living workflow document is the source material; blog entries are curated, publishable outputs from that knowledge.