refactor: remove Makefile, restructure as knowledge-first framework

The primary value is the knowledge layer (markdown files that any agent
reads — Crush, OpenWebUI, Hermes, Conduit on iPhone). CLI tooling
(scripts, git hooks) is optional, for projects that use git/docker.

Changes:
- Remove Makefile entirely. All commands are now direct script invocations
  (bash scripts/check-rules.sh, bash scripts/setup-hooks.sh, etc.)
- Add scripts/test.sh stub (replaces make test)
- check-rules.sh: test-suite check now calls scripts/test.sh, not make test
- Rewrite README as three-layer architecture: knowledge → git hooks → docker
- Update all docs (AGENTS.md, BASELINE-PROMPT.md, ADOPTING.md, PATTERNS.md,
  STATUS.md) to remove every make reference

The framework now works for:
- CLI/harness users (git hooks + scripts + AGENTS.md)
- Non-CLI users (BASELINE-PROMPT.md loaded into any agent's system prompt)

💘 Generated with Crush

Assisted-by: Crush via Crush <crush@charm.land>
This commit is contained in:
2026-08-07 12:14:30 -05:00
parent 3d83b07f30
commit f5292183f4
11 changed files with 120 additions and 156 deletions
+11 -12
View File
@@ -16,11 +16,11 @@ tea repo create --owner <org> --name <project> --template-from TSYSGroupCorporat
# or clone directly:
git clone ssh://git@git.knownelement.com:29418/TSYSGroupCorporate/TSYSGroupAIOS.git <project>
cd <project>
make setup # install git hooks
make fast # verify baseline
bash scripts/setup-hooks.sh # install git hooks
bash scripts/check-rules.sh --fast # verify baseline
```
Then edit `AGENTS.md` (fill bracketed fields), define `make test`, and start work.
Then edit `AGENTS.md` (fill bracketed fields), override `scripts/test.sh`, and start work.
---
@@ -39,7 +39,7 @@ cd ~/projects/<existing-project>
# Get them from the meta repo:
META=~/daytoday/meta
# Scripts, hooks engine, Makefile, shared lib (the mechanical enforcement)
# Scripts, hooks engine, shared lib (the mechanical enforcement)
cp -n "$META/Makefile" .
mkdir -p scripts/lib
cp -n "$META/scripts/check-rules.sh" scripts/
@@ -69,18 +69,18 @@ is for projects that don't have one yet.
### Step 3: Install git hooks and verify
```bash
make setup # installs pre-commit + pre-push from scripts/
make fast # see what passes and what fails
bash scripts/setup-hooks.sh # installs pre-commit + pre-push from scripts/
bash scripts/check-rules.sh --fast # see what passes and what fails
```
### Step 4: Fix the failures (incrementally)
`make fast` will likely report failures — the project's existing code may not
`bash scripts/check-rules.sh --fast` will likely report failures — the project's existing code may not
pass shellcheck, or `.md` files lack Discourse pointers. **Fix these
incrementally; don't rewrite the project in one pass.**
Common fixes:
- **shellcheck violations:** run `make lint` for details; fix warnings in the flagged files.
- **shellcheck violations:** run `bash scripts/check-rules.sh` for details; fix warnings in the flagged files.
- **`:latest` image tags:** pin to a specific version in docker-compose / Dockerfile.
- **Container naming:** add `container_name:` to every service in docker-compose files.
- **Missing required files:** create `questions-v1.md`, `.env.example`, etc.
@@ -108,7 +108,7 @@ PROJECT_BANNED_SUFFIXES="py|js|ts" # banned production f
### Step 7: Commit and push
```bash
make validate # full audit should pass
bash scripts/check-rules.sh # full audit should pass
git add -A
git commit -m "chore: adopt TSYSGroupAIOS framework (git hooks, rules engine, SoR policy)"
git push
@@ -118,7 +118,7 @@ git push
## What NOT to change during adoption
- **Don't rewrite existing code** that works. The framework enforces conventions going forward; fix existing violations incrementally via `make lint` / `make fast`.
- **Don't rewrite existing code** that works. The framework enforces conventions going forward; fix existing violations incrementally via `bash scripts/check-rules.sh`.
- **Don't remove the project's Redmine/Discourse integration.** The framework *requires* it — the project already has it. Align the AGENTS.md prose to match.
- **Don't add `docs/JOURNAL.md`.** Redmine is the system of record for work; Discourse for docs. No JOURNAL.md.
- **Don't add Crush hooks.** The framework is harness-agnostic. Enforcement is git hooks + AGENTS.md prose only.
@@ -135,6 +135,5 @@ git push
| Docker wrapper | `scripts/docker-run.sh` | Yes |
| Lifecycle scripts | `scripts/up.sh`, `scripts/down.sh` | Yes |
| Gardening | `scripts/garden.sh` | Yes |
| Makefile targets | `make setup/fast/validate/lint/test/garden/up/down/status` | Yes |
| Policy document | `AGENTS.md` | Yes — any agent framework reads it |
| Global baseline | `BASELINE-PROMPT.md` | Yes — reference it, don't need to ship it |
| Global baseline | `BASELINE-PROMPT.md` | Yes — paste into any system prompt |