-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Labels
enhancementNew feature or requestNew feature or requestquestionFurther information is requestedFurther information is requested
Description
Context
We’re debating whether ai4c should be:
- a full Python CLI/framework,
- mostly
justwrappers over existing CLIs (linkml-*,deep-research-client, etc.), or - a null model with no framework (just markdown instructions + agents).
The pain point is real: generated templates (justfile/ODK-like) drift when users or agents customize them.
Why this matters
A markdown-only model gives a narrative contract, but not an executable one.
A small standard command surface gives trust primitives:
- predictability (same command names / intent across projects),
- verifiability (runnable outputs, not just prose),
- reproducibility (human + agent reruns),
- auditability (what exactly ran),
- safer defaults (
dry-run, validate-before-apply), - less prompt ambiguity during handoffs.
Proposal (lean + agent-first)
Use a hybrid model with single source of truth in config:
ai4c.yamldefines tasks/datatypes/entry resolution.ai4cexecutes shell-native tasks (thin router over existing CLIs).- optional generated
justfacade callsai4c(never authoritative).
To avoid drift:
- generated file lives at
.ai4c/commands.justand is always overwriteable, - user/agent custom logic lives in
project.justonly, - top-level
justfileimports both.
Decision questions
- What must be stable across projects: command names, or only outcomes?
- How much project-specific customization is expected in practice?
- Should customization be mostly declarative (
ai4c.yaml) vs hook scripts? - Should CI call
ai4cdirectly or continue throughjust? - What is the minimum universal v1 command set?
Suggested v1 scope
- Minimal
ai4ctask router + aliases:validate,research run,render,export. - Shell-first execution, structured logging, no heavy plugin framework.
- Optional
ai4c just syncto regenerate.ai4c/commands.just.
Out of scope for v1
- Rich plugin ecosystem.
- Full template-managed project lifecycle.
- Domain-specific bespoke validators in core.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestquestionFurther information is requestedFurther information is requested