7 Commits

Author SHA1 Message Date
667e66d657 chore(structure): area-specific dist for packs; move proposals/questions to COMMON; move DISCUSS.md to docs; update links and builder
Some checks are pending
CI / checks (pull_request) Waiting to run
2025-09-11 07:15:41 -05:00
ca8905fa4e chore(repo): clean root and move docs
Some checks are pending
CI / checks (pull_request) Waiting to run
- Move docs to docs/; keep areas for prompts only
- Relocate Makefile to scripts/Makefile; update docs to use it
- Move ci.Dockerfile to docker/ci.Dockerfile; update compose
- Move commitlint config to .config and update hook
- Remove root AGENTS.md (use area AGENTS.md)
2025-09-11 07:01:24 -05:00
39b53e4554 docs: restore BOOTSTRAP.md from early bootstrap branch (traceability)
Some checks are pending
CI / checks (pull_request) Waiting to run
2025-09-10 17:45:07 -05:00
2a7d270062 docs(style): enforce clickable links for Markdown references
- Add COMMON/docs-style.md with linking rule
- Convert plain Markdown file references to relative links across docs
2025-09-10 17:43:37 -05:00
59e104a57c docs(agents): add AGENTS.md and area packs
- Add CTO/COO AGENTS.md pointing to dist prompt packs
- Add CODEOWNERS for COMMON/prompt and areas
- Add prompt_build.py used by scripts/prompts (containerized)
2025-09-10 17:39:15 -05:00
d2eb0e1f79 feat(prompts): modular agent packs and builder
- Add COMMON prompt modules + manifests (base, CTO, COO)
- Add scripts/prompts builder (runs in CI container with host uid/gid)
- Make targets: prompts, prompts-check
2025-09-10 17:34:28 -05:00
56aa2a1522 feat(org): introduce COMMON/CTO/COO/CCO areas
- Add uppercase area directories; CCO placeholder only
- Move shared docs to COMMON (git workflow, CI bootstrap); update references
- Add DISCUSS.md to capture open questions and decisions
2025-09-10 17:21:26 -05:00
4 changed files with 7 additions and 75 deletions

View File

@@ -1,42 +0,0 @@
DISCUSSION Areas, Structure, Ownership
Context
- This repo hosts generic, foundational practices reusable across projects.
- Areas: COMMON (shared practices), CTO (shared technical standards), COO (business ops), CCO (deferred; placeholder only).
Decisions Confirmed
- Area directories are uppercase: COMMON, CTO, COO, CCO.
- Shared practices and base guidance live under COMMON.
- CCO is deferred for now; placeholder directory only.
Open Questions to Confirm
- Naming conventions within areas
- File naming: keep kebab-case (e.g., [COMMON/git-workflow.md](COMMON/git-workflow.md)) or use TitleCase?
- Per-area `README.md` vs. `INDEX.md` expectations.
- Scope boundaries
- COMMON: include Git workflow, CI/bootstrap parity, templates (PR/issue), documentation style guide, ADR pattern, security/privacy baselines?
- CTO: preferred tech stacks, language/runtime versions, container base image policy, local dev environment patterns (devcontainers/Make), testing strategy, quality bars?
- COO: operating rhythm (cadences, ceremonies), roles/RACI, OKR/KPI templates, onboarding, procurement/vendor-lite guidance, documentation templates?
- CCO: when in scope, include customer journey templates, support/SLA baselines, enablement playbooks, feedback loops? Any overlap rules with COO/CTO?
- Consumers and audience
- Internal only or some content public-facing? Any confidentiality/compliance constraints (esp. COO/CCO)?
- Reuse strategy
- Copy into new repos vs. reference centrally? Provide “adoption guides” per area? Offer minimal vs. advanced profiles?
- Ownership & change control
- CODEOWNERS per area? Who approves updates across COMMON/CTO/COO?
- Labels and PR templates per area; contribution guidelines?
- Document shape and standards
- Prescriptive checklists vs. narrative guidance; include “10-minute quickstart” per area?
- Standardize frontmatter, headers, and ADR structure?
- Crosscutting policies
- Where to maintain shared policies (security, privacy, accessibility) — under COMMON?
- CI for docs
- Keep current markdown/yaml linters repowide; add link checker/spellcheck?
- Migration of existing docs
- Which existing files beyond Git workflow and CI bootstrap should move under COMMON now vs. later (e.g., proposals, questions, [RESUME.md](RESUME.md), [TODO.md](TODO.md))?
Proposed Next Steps (pending answers)
- Seed perarea README with scope, audiences, adoption guidance.
- Create COMMON/templates/ for reusable checklists, PR/issue templates, ADRs.
- Map/move additional shared docs into COMMON and update references.
- Define CODEOWNERS and contribution norms per area.

View File

@@ -48,5 +48,6 @@ Branches on remote
- Track in [docs/TODO.md](TODO.md): Revisit enabling runners and protected checks on 2025-09-24
10) Next tasks
- Answer any outstanding questions in COMMON/questions/*
- Answer any outstanding questions in questions/*
- On approval, implement further proposals and update instructions/*

View File

@@ -1,31 +1,9 @@
#!/usr/bin/env python3
import os, sys
import os, sys, yaml
def load_manifest(path):
# Minimal YAML parser for our simple manifests:
# keys: name (ignored), include: [..], modules: [..]
data = {"include": [], "modules": []}
key = None
with open(path, 'r', encoding='utf-8') as f:
for raw in f:
line = raw.rstrip('\n')
s = line.strip()
if not s or s.startswith('#'):
continue
if s.startswith('include:'):
key = 'include'
continue
if s.startswith('modules:'):
key = 'modules'
continue
if s.startswith('name:'):
key = None
continue
# list item under current key
if key in ('include', 'modules') and s.startswith('- '):
item = s[2:].strip()
data[key].append(item)
return data
return yaml.safe_load(f)
def resolve(path, seen):
m = load_manifest(path)
@@ -50,8 +28,7 @@ def main():
if not mods:
print(f"No modules resolved from {manifest}", file=sys.stderr)
sys.exit(1)
if out_path != '-':
os.makedirs(os.path.dirname(out_path), exist_ok=True)
os.makedirs(os.path.dirname(out_path), exist_ok=True)
def read(p):
with open(p, 'r', encoding='utf-8') as f:
return f.read().strip() + "\n\n"

View File

@@ -7,7 +7,7 @@ Usage: scripts/prompts <command> [args]
Commands:
build <manifest> <output> Build a flattened prompt from a manifest
pack <area> Build known area pack (cto|coo) into area dist/
pack <area> Build known area pack (cto|coo) into dist/prompts
all Build all known area packs
lint Lint prompts (budgets and includes)
USAGE
@@ -31,11 +31,7 @@ build_manifest() {
# Write on host to avoid ownership issues; container prints to stdout.
TMP_OUT=$(mktemp)
trap '[[ -n "${TMP_OUT:-}" ]] && rm -f "$TMP_OUT"' EXIT
ci_run "python3 scripts/prompt_build.py '$manifest' -" >"$TMP_OUT" || true
# Fallback: if container produced no output, run on host
if [[ ! -s "$TMP_OUT" ]]; then
python3 scripts/prompt_build.py "$manifest" - >"$TMP_OUT"
fi
ci_run "python3 scripts/prompt_build.py '$manifest' -" >"$TMP_OUT"
mkdir -p "$(dirname "$out")"
mv "$TMP_OUT" "$out"
}