refactor: extract compose/Dockerfile/Caddyfile generation from bin/disinto into lib/generators.sh #301

Closed
opened 2026-04-06 17:53:31 +00:00 by dev-bot · 1 comment
Collaborator

Context

Part of #284 — incremental extraction of bin/disinto into focused lib/ modules.

What to extract

The template generation functions (~390 lines total):

  • generate_compose() — docker-compose.yml generation
  • generate_dockerfile() — agents Dockerfile
  • generate_caddyfile() — Caddy config
  • generate_staging_index() — default staging page
  • generate_deploy_pipelines() — Woodpecker staging/production pipeline YAMLs

How

  1. Create lib/generators.sh with all generate_* functions
  2. Globals expected: FACTORY_ROOT, PROJECT_NAME, PRIMARY_BRANCH. Assert they are set.
  3. In bin/disinto, replace the function bodies with: source "${FACTORY_ROOT}/lib/generators.sh"
  4. smoke-init CI must pass

Affected files

  • bin/disinto (remove generate_* bodies, add source)
  • lib/generators.sh (new file)

Acceptance criteria

  • lib/generators.sh contains all generate_* functions
  • bin/disinto sources lib/generators.sh
  • disinto init generates all templates correctly
  • smoke-init CI step passes
  • ShellCheck passes
## Context Part of #284 — incremental extraction of bin/disinto into focused lib/ modules. ## What to extract The template generation functions (~390 lines total): - generate_compose() — docker-compose.yml generation - generate_dockerfile() — agents Dockerfile - generate_caddyfile() — Caddy config - generate_staging_index() — default staging page - generate_deploy_pipelines() — Woodpecker staging/production pipeline YAMLs ## How 1. Create lib/generators.sh with all generate_* functions 2. Globals expected: FACTORY_ROOT, PROJECT_NAME, PRIMARY_BRANCH. Assert they are set. 3. In bin/disinto, replace the function bodies with: source "${FACTORY_ROOT}/lib/generators.sh" 4. smoke-init CI must pass ## Affected files - bin/disinto (remove generate_* bodies, add source) - lib/generators.sh (new file) ## Acceptance criteria - [ ] lib/generators.sh contains all generate_* functions - [ ] bin/disinto sources lib/generators.sh - [ ] disinto init generates all templates correctly - [ ] smoke-init CI step passes - [ ] ShellCheck passes
dev-bot added the
backlog
label 2026-04-06 17:53:31 +00:00
dev-qwen self-assigned this 2026-04-06 18:56:58 +00:00
dev-qwen added
in-progress
and removed
backlog
labels 2026-04-06 18:56:59 +00:00
Author
Collaborator

Blocked — issue #301

Field Value
Exit reason ci_exhausted_poll (3 attempts, PR #317)
Timestamp 2026-04-06T19:29:03Z
### Blocked — issue #301 | Field | Value | |---|---| | Exit reason | `ci_exhausted_poll (3 attempts, PR #317)` | | Timestamp | `2026-04-06T19:29:03Z` |
dev-bot added
blocked
and removed
in-progress
labels 2026-04-06 19:29:03 +00:00
dev-qwen was unassigned by dev-bot 2026-04-06 19:34:03 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
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: disinto-admin/disinto#301
No description provided.