選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
Jan Svabenik f7721598b4 Improve field mapping UX and label template 1408367 1ヶ月前
cmd/qctextbuilder Initial QC Text Builder MVP scaffold 1ヶ月前
data Improve field mapping UX and label template 1408367 1ヶ月前
dist Improve field mapping UX and label template 1408367 1ヶ月前
internal Improve field mapping UX and label template 1408367 1ヶ月前
migrations Initial QC Text Builder MVP scaffold 1ヶ月前
test/integration Initial QC Text Builder MVP scaffold 1ヶ月前
web Improve field mapping UX and label template 1408367 1ヶ月前
.env.local Initial QC Text Builder MVP scaffold 1ヶ月前
README.md Improve field mapping UX and label template 1408367 1ヶ月前
build-local.ps1 Initial QC Text Builder MVP scaffold 1ヶ月前
concept.json Initial QC Text Builder MVP scaffold 1ヶ月前
go.mod Add SQLite persistence and draft review flow 1ヶ月前
go.sum Add SQLite persistence and draft review flow 1ヶ月前
run-local.ps1 Initial QC Text Builder MVP scaffold 1ヶ月前

README.md

QC Text Builder (Go)

Milestone 2 status:

  • bootstrap app/server/config
  • Quick Creator client contracts (Bearer token only)
  • AI template sync endpoint
  • onboarding/discovery endpoint with local manifest flattening
  • site build flow via POST /sites using local manifest + own text (content.aiData)
  • SQLite persistence (default) for settings, templates, manifests, fields, site builds, and build drafts
  • build polling (POST /api/site-builds/{id}/poll) and background polling supervisor
  • draft intake/review flow (draft -> reviewed -> submitted) before final build
  • strict MVP scope: no ACP login flow, no DCM/EFL, no image payload handling

Run

  1. Set env vars:
    • HTTP_ADDR=:8080
    • DB_DRIVER=sqlite (default)
    • DB_URL=data/qctextbuilder.db (default, local file)
    • QC_BASE_URL=https://qc-api.yggdrasil.dev-mono.net/api/v1
    • QC_TOKEN=<your bearer token>
  2. Start:
    • go run ./cmd/qctextbuilder

API (Milestone 3)

  • GET /healthz
  • POST /api/templates/sync
  • GET /api/templates
  • GET /api/templates/{id}
  • POST /api/templates/{id}/onboard
  • PUT /api/templates/{id}/fields
  • POST /api/drafts/intake (external prefilled draft intake)
  • GET /api/drafts
  • GET /api/drafts/{id}
  • PUT /api/drafts/{id}
  • POST /api/site-builds
  • GET /api/site-builds/{id}
  • POST /api/site-builds/{id}/poll
  • POST /api/site-builds/{id}/fetch-editor-url

Draft payload (POST /api/drafts/intake / PUT /api/drafts/{id}) supports:

  • templateId, optional manifestId
  • source, requestName
  • globalData (same documented QC fields as build flow)
  • fieldValues keyed by manifest path (section.keyName)
  • status (draft|reviewed|submitted), notes

Build request payload (POST /api/site-builds) expects:

  • templateId (AI template only, onboarded/reviewed)
  • requestName
  • globalData (companyName, email, username required; all other documented fields optional)
  • fieldValues keyed by manifest paths (section.keyName)

Documented globalData scope supported by UI/API mapping:

  • companyName, businessType, username, email, phone
  • orgNumber, startDate, mission, descriptionShort, descriptionLong, siteLanguage
  • address.line1, address.line2, address.city, address.region, address.zip, address.country

UI note:

  • /builds/new now supports loading an existing draft, reviewing/editing values, saving draft, and only then starting the build.
  • Template fields in /builds/new are grouped block-first by extracted internal block IDs (for example m1710, c7886, r4830) with heuristic fallback for fields without block IDs.
  • Template field settings in /templates/{id} include a persistent websiteSection mapping (hero, intro, services, service_item, about, team, testimonials, cta, contact, footer, gallery, other) used by /builds/new grouping with fallback when not set.