Compare commits
7 Commits
d381070c75
...
v0.0.1-Boo
Author | SHA1 | Date | |
---|---|---|---|
d9c0402981 | |||
21a8361174 | |||
39ec59a356 | |||
e33ee77db9 | |||
b913a983bd | |||
1e65aadda9 | |||
a00b6a8782 |
@@ -1,4 +1,4 @@
|
|||||||
module.exports = {
|
export default {
|
||||||
extends: ['@commitlint/config-conventional'],
|
extends: ['@commitlint/config-conventional'],
|
||||||
};
|
};
|
||||||
|
|
@@ -1,7 +0,0 @@
|
|||||||
Agent Guidance (Repo Base)
|
|
||||||
|
|
||||||
- Use area prompt packs generated under `dist/prompts/`:
|
|
||||||
- CTO: [dist/prompts/cto.md](dist/prompts/cto.md)
|
|
||||||
- COO: [dist/prompts/coo.md](dist/prompts/coo.md)
|
|
||||||
- To rebuild packs locally: `make prompts` (runs inside CI container).
|
|
||||||
- Keep prompts modular and concise; favor COMMON modules and minimal area deltas.
|
|
@@ -1,13 +0,0 @@
|
|||||||
COMMON
|
|
||||||
|
|
||||||
Purpose
|
|
||||||
- Foundational, shared practices usable across projects.
|
|
||||||
- Opinionated but adaptable; intended as a base layer.
|
|
||||||
|
|
||||||
Contents (initial)
|
|
||||||
- Git workflow: [COMMON/git-workflow.md](git-workflow.md)
|
|
||||||
- CI/bootstrap parity: [COMMON/bootstrap-cicd.md](bootstrap-cicd.md)
|
|
||||||
- Documentation style: [COMMON/docs-style.md](docs-style.md)
|
|
||||||
|
|
||||||
Notes
|
|
||||||
- Keep content generic and reusable; project-specific overrides should live in the target repo.
|
|
@@ -1,6 +1,6 @@
|
|||||||
COO Agent Pack
|
COO Agent Pack
|
||||||
|
|
||||||
Use the generated pack for agents: [dist/prompts/coo.md](../../dist/prompts/coo.md).
|
Use the generated pack for agents: [dist/prompts/coo.md](dist/prompts/coo.md).
|
||||||
|
|
||||||
Includes (via COMMON base):
|
Includes (via COMMON base):
|
||||||
- System persona, style, safety
|
- System persona, style, safety
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
CTO Agent Pack
|
CTO Agent Pack
|
||||||
|
|
||||||
Use the generated pack for agents: [dist/prompts/cto.md](../../dist/prompts/cto.md).
|
Use the generated pack for agents: [dist/prompts/cto.md](dist/prompts/cto.md).
|
||||||
|
|
||||||
Includes (via COMMON base):
|
Includes (via COMMON base):
|
||||||
- System persona, style, safety
|
- System persona, style, safety
|
||||||
|
22
README.md
22
README.md
@@ -1,3 +1,23 @@
|
|||||||
# LLMScaffolding
|
# LLMScaffolding
|
||||||
|
|
||||||
TSYS Group LLM Scaffolding. We heavily utilize AI to produce software and other deliverables.
|
Base scaffolding for AI‑assisted work. Clean root; docs in `docs/`; areas for prompts.
|
||||||
|
|
||||||
|
Layout
|
||||||
|
- docs/ — human‑readable docs (getting started, workflow, CI, style)
|
||||||
|
- COMMON/ CTO/ COO/ CCO/ — questions, proposals, and prompt modules only
|
||||||
|
- scripts/ — Makefile and helper scripts
|
||||||
|
- docker/ — CI compose and Dockerfile
|
||||||
|
- CTO/dist/prompts/ and COO/dist/prompts/ — generated prompt packs
|
||||||
|
- COMMON/proposals/, COMMON/questions/ — planning artifacts
|
||||||
|
|
||||||
|
Quickstart
|
||||||
|
- Install hooks: `make -f scripts/Makefile hooks-setup`
|
||||||
|
- Run checks: `make -f scripts/Makefile check`
|
||||||
|
- Build prompt packs: `make -f scripts/Makefile prompts`
|
||||||
|
|
||||||
|
Docs
|
||||||
|
- Git workflow: [docs/git-workflow.md](docs/git-workflow.md)
|
||||||
|
- Local CI parity: [docs/bootstrap-cicd.md](docs/bootstrap-cicd.md)
|
||||||
|
- Documentation style: [docs/docs-style.md](docs/docs-style.md)
|
||||||
|
- Operational notes: [docs/RESUME.md](docs/RESUME.md), [docs/TODO.md](docs/TODO.md)
|
||||||
|
- History: [docs/history/BOOTSTRAP.md](docs/history/BOOTSTRAP.md)
|
||||||
|
0
dist/prompts/coo.md
vendored
0
dist/prompts/coo.md
vendored
0
dist/prompts/cto.md
vendored
0
dist/prompts/cto.md
vendored
@@ -38,3 +38,4 @@ RUN npm --location=global install \
|
|||||||
WORKDIR /workspace
|
WORKDIR /workspace
|
||||||
ENTRYPOINT ["bash","-lc"]
|
ENTRYPOINT ["bash","-lc"]
|
||||||
CMD ["bash"]
|
CMD ["bash"]
|
||||||
|
|
@@ -2,7 +2,7 @@ services:
|
|||||||
ci:
|
ci:
|
||||||
build:
|
build:
|
||||||
context: ..
|
context: ..
|
||||||
dockerfile: ci.Dockerfile
|
dockerfile: docker/ci.Dockerfile
|
||||||
working_dir: /workspace
|
working_dir: /workspace
|
||||||
volumes:
|
volumes:
|
||||||
- "../:/workspace:Z"
|
- "../:/workspace:Z"
|
||||||
@@ -10,4 +10,3 @@ services:
|
|||||||
- IN_CI_CONTAINER=1
|
- IN_CI_CONTAINER=1
|
||||||
entrypoint: ["bash","-lc"]
|
entrypoint: ["bash","-lc"]
|
||||||
command: ["bash"]
|
command: ["bash"]
|
||||||
|
|
||||||
|
15
docs/README.md
Normal file
15
docs/README.md
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
Repository Docs
|
||||||
|
|
||||||
|
Purpose
|
||||||
|
- Centralize human‑readable documentation. Area folders (COMMON/CTO/COO/CCO) are reserved for questions, proposals, and prompt modules.
|
||||||
|
|
||||||
|
Key Documents
|
||||||
|
- Git workflow: [git-workflow.md](git-workflow.md)
|
||||||
|
- Local CI parity: [bootstrap-cicd.md](bootstrap-cicd.md)
|
||||||
|
- Documentation style: [docs-style.md](docs-style.md)
|
||||||
|
- Operational notes: [RESUME.md](RESUME.md), [TODO.md](TODO.md)
|
||||||
|
- History: [history/BOOTSTRAP.md](history/BOOTSTRAP.md)
|
||||||
|
|
||||||
|
Usage
|
||||||
|
- Make targets moved to `scripts/Makefile`. Use `make -f scripts/Makefile <target>`.
|
||||||
|
|
@@ -16,12 +16,12 @@ Branches on remote
|
|||||||
- Start Docker Desktop/daemon as needed
|
- Start Docker Desktop/daemon as needed
|
||||||
|
|
||||||
3) Install hooks locally
|
3) Install hooks locally
|
||||||
- make hooks-setup
|
- make -f scripts/Makefile hooks-setup
|
||||||
|
|
||||||
4) Run local checks (Docker-only)
|
4) Run local checks (Docker-only)
|
||||||
- git switch bootstrap && make quick && make build
|
- git switch bootstrap && make -f scripts/Makefile quick && make -f scripts/Makefile build
|
||||||
- git switch bootstrap-cicd && make quick && make build
|
- git switch bootstrap-cicd && make -f scripts/Makefile quick && make -f scripts/Makefile build
|
||||||
- Optional full pass: make check
|
- Optional full pass: make -f scripts/Makefile check
|
||||||
|
|
||||||
5) Open PRs (when branches are green locally)
|
5) Open PRs (when branches are green locally)
|
||||||
- bootstrap → integration: https://git.knownelement.com/KNEL/LLMScaffolding/pulls/new/bootstrap
|
- bootstrap → integration: https://git.knownelement.com/KNEL/LLMScaffolding/pulls/new/bootstrap
|
||||||
@@ -41,12 +41,12 @@ Branches on remote
|
|||||||
- git branch -f release main && git push -f origin release
|
- git branch -f release main && git push -f origin release
|
||||||
|
|
||||||
8) Docs & parity
|
8) Docs & parity
|
||||||
- Git workflow: [COMMON/git-workflow.md](COMMON/git-workflow.md)
|
- Git workflow: [docs/git-workflow.md](git-workflow.md)
|
||||||
- Local CI parity: [COMMON/bootstrap-cicd.md](COMMON/bootstrap-cicd.md)
|
- Local CI parity: [docs/bootstrap-cicd.md](bootstrap-cicd.md)
|
||||||
|
|
||||||
9) Defer CI enablement for two weeks
|
9) Defer CI enablement for two weeks
|
||||||
- Track in [TODO.md](TODO.md): Revisit enabling runners and protected checks on 2025-09-24
|
- Track in [docs/TODO.md](TODO.md): Revisit enabling runners and protected checks on 2025-09-24
|
||||||
|
|
||||||
10) Next tasks
|
10) Next tasks
|
||||||
- Answer any outstanding questions in questions/*
|
- Answer any outstanding questions in COMMON/questions/*
|
||||||
- On approval, implement further proposals and update instructions/*
|
- On approval, implement further proposals and update instructions/*
|
@@ -3,7 +3,7 @@ TODO
|
|||||||
- Git workflow
|
- Git workflow
|
||||||
- [x] Questions gathered and answered
|
- [x] Questions gathered and answered
|
||||||
- [x] Proposal iteration 2 drafted
|
- [x] Proposal iteration 2 drafted
|
||||||
- [x] Finalize approval and capture in [COMMON/git-workflow.md](COMMON/git-workflow.md)
|
- [x] Finalize approval and capture in [docs/git-workflow.md](git-workflow.md)
|
||||||
|
|
||||||
- Branches
|
- Branches
|
||||||
- [x] Create integration, release, bootstrap from main
|
- [x] Create integration, release, bootstrap from main
|
||||||
@@ -12,9 +12,9 @@ TODO
|
|||||||
|
|
||||||
- CI/CD bootstrap
|
- CI/CD bootstrap
|
||||||
- [x] Create branch bootstrap-cicd from main
|
- [x] Create branch bootstrap-cicd from main
|
||||||
- [x] Add questions at [questions/bootstrap-cicd.md](questions/bootstrap-cicd.md)
|
- [x] Add questions at [COMMON/questions/bootstrap-cicd.md](../COMMON/questions/bootstrap-cicd.md)
|
||||||
- [x] Draft proposal based on answers
|
- [x] Draft proposal based on answers
|
||||||
- [x] Implement parity tooling: scripts/ci, ci.Dockerfile, docker/ci.compose.yml
|
- [x] Implement parity tooling: scripts/ci, docker/ci.Dockerfile, docker/ci.compose.yml
|
||||||
- [x] Add .gitea/workflows: ci.yml, release.yml, nightly.yml
|
- [x] Add .gitea/workflows: ci.yml, release.yml, nightly.yml
|
||||||
- [x] Add commitlint.config.cjs, Makefile
|
- [x] Add commitlint.config.cjs, Makefile
|
||||||
- [ ] Optional: add .pre-commit-config.yaml (defer for now)
|
- [ ] Optional: add .pre-commit-config.yaml (defer for now)
|
||||||
@@ -31,4 +31,5 @@ TODO
|
|||||||
- [ ] Optional: fast-forward release branch to latest tag
|
- [ ] Optional: fast-forward release branch to latest tag
|
||||||
|
|
||||||
- Docs
|
- Docs
|
||||||
- [ ] Write [docs/engineering/git-workflow.md](docs/engineering/git-workflow.md) with diagrams and examples
|
- [ ] Write [docs/engineering/git-workflow.md](engineering/git-workflow.md) with diagrams and examples
|
||||||
|
|
@@ -4,15 +4,15 @@ Purpose
|
|||||||
- Provide a portable CI toolchain via a Dockerized image and compose file so that format/lint/build checks run identically locally and in CI.
|
- Provide a portable CI toolchain via a Dockerized image and compose file so that format/lint/build checks run identically locally and in CI.
|
||||||
|
|
||||||
Components
|
Components
|
||||||
- `ci.Dockerfile` – builds the CI image with shellcheck, shfmt, hadolint, actionlint, yamllint, Node tools.
|
- `docker/ci.Dockerfile` – builds the CI image with shellcheck, shfmt, hadolint, actionlint, yamllint, Node tools.
|
||||||
- `docker/ci.compose.yml` – runs the CI container mounting the repo at `/workspace`.
|
- `docker/ci.compose.yml` – runs the CI container mounting the repo at `/workspace`.
|
||||||
- `scripts/ci` – wrapper for phases: `format`, `lint`, `build`, `test`, `security`, `all`.
|
- `scripts/ci` – wrapper for phases: `format`, `lint`, `build`, `test`, `security`, `all`.
|
||||||
- Git hooks – `.githooks/*` installed via `scripts/setup-hooks`.
|
- Git hooks – `.githooks/*` installed via `scripts/setup-hooks`.
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
- Install hooks: `make hooks-setup`
|
- Install hooks: `make -f scripts/Makefile hooks-setup`
|
||||||
- Quick checks: `make quick` (format + lint)
|
- Quick checks: `make -f scripts/Makefile quick` (format + lint)
|
||||||
- Full pass: `make check` (all phases)
|
- Full pass: `make -f scripts/Makefile check` (all phases)
|
||||||
|
|
||||||
Notes
|
Notes
|
||||||
- Pre-commit hook runs format/lint and commit message checks.
|
- Pre-commit hook runs format/lint and commit message checks.
|
@@ -1,6 +1,6 @@
|
|||||||
Documentation Style Guide
|
Documentation Style Guide
|
||||||
|
|
||||||
- When referencing another Markdown file in this repo, use a relative link so it is clickable in Gitea. Example: [COMMON/git-workflow.md](COMMON/git-workflow.md).
|
- When referencing another Markdown file in this repo, use a relative link so it is clickable in Gitea. Example: [docs/git-workflow.md](git-workflow.md).
|
||||||
- Keep titles concise and descriptive; use sentence case unless a proper noun.
|
- Keep titles concise and descriptive; use sentence case unless a proper noun.
|
||||||
- Prefer short bullets (one point per line). Merge related points.
|
- Prefer short bullets (one point per line). Merge related points.
|
||||||
- Use backticks for commands, file paths, env vars, and code identifiers.
|
- Use backticks for commands, file paths, env vars, and code identifiers.
|
@@ -1,6 +1,6 @@
|
|||||||
SHELL := /usr/bin/env bash
|
SHELL := /usr/bin/env bash
|
||||||
|
|
||||||
.PHONY: all check quick format lint build test security ci-image hooks-setup
|
.PHONY: all check quick format lint build test security ci-image hooks-setup prompts prompts-check
|
||||||
|
|
||||||
all: check
|
all: check
|
||||||
|
|
||||||
@@ -26,14 +26,14 @@ security:
|
|||||||
./scripts/ci security
|
./scripts/ci security
|
||||||
|
|
||||||
ci-image:
|
ci-image:
|
||||||
docker build -f ci.Dockerfile -t local/ci:latest .
|
docker build -f docker/ci.Dockerfile -t local/ci:latest .
|
||||||
|
|
||||||
hooks-setup:
|
hooks-setup:
|
||||||
./scripts/setup-hooks
|
./scripts/setup-hooks
|
||||||
|
|
||||||
.PHONY: prompts prompts-check
|
|
||||||
prompts:
|
prompts:
|
||||||
./scripts/prompts all
|
./scripts/prompts all
|
||||||
|
|
||||||
prompts-check:
|
prompts-check:
|
||||||
./scripts/prompts lint
|
./scripts/prompts lint
|
||||||
|
|
@@ -6,5 +6,4 @@ MSG_FILE="${1:-.git/COMMIT_EDITMSG}"
|
|||||||
# Run commitlint inside the CI container against the commit message file
|
# Run commitlint inside the CI container against the commit message file
|
||||||
docker compose -f docker/ci.compose.yml run --rm \
|
docker compose -f docker/ci.compose.yml run --rm \
|
||||||
-e IN_CI_CONTAINER=1 \
|
-e IN_CI_CONTAINER=1 \
|
||||||
ci bash -lc "commitlint --edit ${MSG_FILE}"
|
ci bash -lc "commitlint --config .config/commitlint.config.cjs --edit ${MSG_FILE}"
|
||||||
|
|
||||||
|
@@ -7,7 +7,7 @@ Usage: scripts/prompts <command> [args]
|
|||||||
|
|
||||||
Commands:
|
Commands:
|
||||||
build <manifest> <output> Build a flattened prompt from a manifest
|
build <manifest> <output> Build a flattened prompt from a manifest
|
||||||
pack <area> Build known area pack (cto|coo) into dist/prompts
|
pack <area> Build known area pack (cto|coo) into area dist/
|
||||||
all Build all known area packs
|
all Build all known area packs
|
||||||
lint Lint prompts (budgets and includes)
|
lint Lint prompts (budgets and includes)
|
||||||
USAGE
|
USAGE
|
||||||
@@ -28,11 +28,11 @@ ci_run() {
|
|||||||
build_manifest() {
|
build_manifest() {
|
||||||
local manifest=$1 out=$2 root
|
local manifest=$1 out=$2 root
|
||||||
root="$(repo_root)"
|
root="$(repo_root)"
|
||||||
mkdir -p "$root/dist/prompts"
|
|
||||||
# Write on host to avoid ownership issues; container prints to stdout.
|
# Write on host to avoid ownership issues; container prints to stdout.
|
||||||
TMP_OUT=$(mktemp)
|
TMP_OUT=$(mktemp)
|
||||||
trap '[[ -n "${TMP_OUT:-}" ]] && rm -f "$TMP_OUT"' EXIT
|
trap '[[ -n "${TMP_OUT:-}" ]] && rm -f "$TMP_OUT"' EXIT
|
||||||
ci_run "python3 scripts/prompt_build.py '$manifest' -" >"$TMP_OUT"
|
ci_run "python3 scripts/prompt_build.py '$manifest' -" >"$TMP_OUT"
|
||||||
|
mkdir -p "$(dirname "$out")"
|
||||||
mv "$TMP_OUT" "$out"
|
mv "$TMP_OUT" "$out"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -44,12 +44,12 @@ case "$cmd" in
|
|||||||
pack)
|
pack)
|
||||||
shift; area=${1:-}; root="$(repo_root)"
|
shift; area=${1:-}; root="$(repo_root)"
|
||||||
case "$area" in
|
case "$area" in
|
||||||
cto) build_manifest "$root/COMMON/prompt/manifests/cto.yaml" "$root/dist/prompts/cto.md" ;;
|
cto) build_manifest "$root/COMMON/prompt/manifests/cto.yaml" "$root/CTO/dist/prompts/cto.md" ;;
|
||||||
coo) build_manifest "$root/COMMON/prompt/manifests/coo.yaml" "$root/dist/prompts/coo.md" ;;
|
coo) build_manifest "$root/COMMON/prompt/manifests/coo.yaml" "$root/COO/dist/prompts/coo.md" ;;
|
||||||
*) echo "Unknown area: $area" >&2; exit 2 ;;
|
*) echo "Unknown area: $area" >&2; exit 2 ;;
|
||||||
esac ;;
|
esac ;;
|
||||||
all)
|
all)
|
||||||
root="$(repo_root)"; mkdir -p "$root/dist/prompts"
|
root="$(repo_root)"
|
||||||
"$0" pack cto
|
"$0" pack cto
|
||||||
"$0" pack coo ;;
|
"$0" pack coo ;;
|
||||||
lint)
|
lint)
|
||||||
|
Reference in New Issue
Block a user