docs(devkit): ship Windows adoption guides
This commit is contained in:
@@ -88,7 +88,15 @@ for relative in ("AGENTS.md", "CLAUDE.md", ".github/copilot-instructions.md"):
|
||||
path.write_text(updated.rstrip() + "\n", encoding="utf-8")
|
||||
PY
|
||||
|
||||
cp "$SRC/docs/packaging/PROMPT_ENFORCEMENT_GUIDE.md" "$TARGET/docs/casan/CASAN_PROMPT_ENFORCEMENT.md"
|
||||
python3 - "$SRC/docs/casan" "$TARGET/docs/casan" "$PROJECT" "$DOMAIN" <<'PY'
|
||||
import pathlib, sys
|
||||
source, target = pathlib.Path(sys.argv[1]), pathlib.Path(sys.argv[2])
|
||||
project, domain = sys.argv[3], sys.argv[4]
|
||||
for name in ("CASAN_ADOPTION_WINDOWS.md", "CASAN_PROMPT_ENFORCEMENT.md"):
|
||||
text = (source / name).read_text(encoding="utf-8")
|
||||
text = text.replace("__PROJECT_ID__", project).replace("__PROJECT_NAME__", domain)
|
||||
(target / name).write_text(text, encoding="utf-8")
|
||||
PY
|
||||
|
||||
# 4) Standalone Gitea contract workflow. The project's existing CI remains untouched.
|
||||
cp "$SRC/packages/casan-devkit/templates/gitea-workflow/prompt-enforcement.yml" "$TARGET/.gitea/workflows/casan-prompt-enforcement.yml"
|
||||
@@ -134,5 +142,5 @@ cat <<EOF
|
||||
5. Send every AI prompt via: bin/casan-chat "<prompt>"
|
||||
6. On Windows/WSL2 use: powershell -ExecutionPolicy Bypass -File bin/casan-chat.ps1 "<prompt>"
|
||||
7. Verify enforcement: bin/casan prompt verify
|
||||
See docs/casan/CASAN_PROMPT_ENFORCEMENT.md.
|
||||
See docs/casan/CASAN_ADOPTION_WINDOWS.md and docs/casan/CASAN_PROMPT_ENFORCEMENT.md.
|
||||
EOF
|
||||
|
||||
@@ -36,6 +36,11 @@ assert 'CASAN_PROJECT_ID: "sample-project"' in workflow
|
||||
assert "__PROJECT_ID__" not in workflow
|
||||
assert (root / "bin/casan-chat").exists()
|
||||
assert (root / "bin/casan-chat.ps1").exists()
|
||||
for relative in ("docs/casan/CASAN_ADOPTION_WINDOWS.md", "docs/casan/CASAN_PROMPT_ENFORCEMENT.md"):
|
||||
text = (root / relative).read_text(encoding="utf-8")
|
||||
assert "sample-project" in text
|
||||
assert "Sample Project" in text or relative.endswith("CASAN_PROMPT_ENFORCEMENT.md")
|
||||
assert "__PROJECT_ID__" not in text and "__PROJECT_NAME__" not in text
|
||||
PY
|
||||
|
||||
(cd "$TARGET" && bin/casan prompt verify) | grep -q 'CASAN_PROMPT_ENFORCEMENT_VALID project=sample-project'
|
||||
|
||||
Reference in New Issue
Block a user