Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
Jan Svabenik f7721598b4 Improve field mapping UX and label template 1408367 1 mês atrás
cmd/qctextbuilder Initial QC Text Builder MVP scaffold 1 mês atrás
data Improve field mapping UX and label template 1408367 1 mês atrás
dist Improve field mapping UX and label template 1408367 1 mês atrás
internal Improve field mapping UX and label template 1408367 1 mês atrás
migrations Initial QC Text Builder MVP scaffold 1 mês atrás
test/integration Initial QC Text Builder MVP scaffold 1 mês atrás
web Improve field mapping UX and label template 1408367 1 mês atrás
.env.local Initial QC Text Builder MVP scaffold 1 mês atrás
README.md Improve field mapping UX and label template 1408367 1 mês atrás
build-local.ps1 Initial QC Text Builder MVP scaffold 1 mês atrás
concept.json Initial QC Text Builder MVP scaffold 1 mês atrás
go.mod Add SQLite persistence and draft review flow 1 mês atrás
go.sum Add SQLite persistence and draft review flow 1 mês atrás
run-local.ps1 Initial QC Text Builder MVP scaffold 1 mês atrás

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.