@bvdm/delano 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/HANDBOOK.md +1511 -0
- package/README.md +122 -0
- package/assets/install-manifest.json +102 -0
- package/assets/payload/.agents/README.md +12 -0
- package/assets/payload/.agents/adapters/claude/README.md +5 -0
- package/assets/payload/.agents/adapters/codex/README.md +5 -0
- package/assets/payload/.agents/adapters/opencode/README.md +5 -0
- package/assets/payload/.agents/adapters/pi/README.md +5 -0
- package/assets/payload/.agents/common/README.md +3 -0
- package/assets/payload/.agents/hooks/README.md +11 -0
- package/assets/payload/.agents/hooks/bash-worktree-fix.sh +7 -0
- package/assets/payload/.agents/hooks/post-tool-logger.js +18 -0
- package/assets/payload/.agents/hooks/session-tracker.js +17 -0
- package/assets/payload/.agents/hooks/user-prompt-logger.js +18 -0
- package/assets/payload/.agents/logs/.gitkeep +0 -0
- package/assets/payload/.agents/logs/schema.md +42 -0
- package/assets/payload/.agents/rules/README.md +12 -0
- package/assets/payload/.agents/rules/agent-coordination.md +5 -0
- package/assets/payload/.agents/rules/datetime.md +5 -0
- package/assets/payload/.agents/rules/frontmatter-operations.md +6 -0
- package/assets/payload/.agents/rules/github-operations.md +5 -0
- package/assets/payload/.agents/rules/path-standards.md +5 -0
- package/assets/payload/.agents/rules/test-execution.md +5 -0
- package/assets/payload/.agents/rules/worktree-operations.md +5 -0
- package/assets/payload/.agents/scripts/README.md +31 -0
- package/assets/payload/.agents/scripts/check-path-standards.sh +26 -0
- package/assets/payload/.agents/scripts/fix-path-standards.sh +14 -0
- package/assets/payload/.agents/scripts/git-sparse-download.sh +162 -0
- package/assets/payload/.agents/scripts/log-event.js +33 -0
- package/assets/payload/.agents/scripts/log-event.sh +5 -0
- package/assets/payload/.agents/scripts/pm/blocked.sh +36 -0
- package/assets/payload/.agents/scripts/pm/epic-list.sh +34 -0
- package/assets/payload/.agents/scripts/pm/in-progress.sh +36 -0
- package/assets/payload/.agents/scripts/pm/init.sh +139 -0
- package/assets/payload/.agents/scripts/pm/next.sh +110 -0
- package/assets/payload/.agents/scripts/pm/prd-list.sh +34 -0
- package/assets/payload/.agents/scripts/pm/search.sh +13 -0
- package/assets/payload/.agents/scripts/pm/standup.sh +19 -0
- package/assets/payload/.agents/scripts/pm/status.sh +61 -0
- package/assets/payload/.agents/scripts/pm/validate.sh +309 -0
- package/assets/payload/.agents/scripts/query-log.sh +57 -0
- package/assets/payload/.agents/scripts/test-and-log.sh +28 -0
- package/assets/payload/.agents/skills/.gitkeep +0 -0
- package/assets/payload/.agents/skills/README.md +23 -0
- package/assets/payload/.agents/skills/breakdown-skill/SKILL.md +40 -0
- package/assets/payload/.agents/skills/breakdown-skill/references/runbook.md +16 -0
- package/assets/payload/.agents/skills/breakdown-skill/templates/ambiguity-report.md +11 -0
- package/assets/payload/.agents/skills/breakdown-skill/templates/task-batch-summary.md +11 -0
- package/assets/payload/.agents/skills/closeout-skill/SKILL.md +42 -0
- package/assets/payload/.agents/skills/closeout-skill/references/runbook.md +16 -0
- package/assets/payload/.agents/skills/closeout-skill/templates/closure-checklist.md +7 -0
- package/assets/payload/.agents/skills/closeout-skill/templates/outcome-review.md +11 -0
- package/assets/payload/.agents/skills/discovery-skill/SKILL.md +44 -0
- package/assets/payload/.agents/skills/discovery-skill/references/runbook.md +14 -0
- package/assets/payload/.agents/skills/discovery-skill/templates/clarification-questions.md +18 -0
- package/assets/payload/.agents/skills/discovery-skill/templates/discovery-summary.md +14 -0
- package/assets/payload/.agents/skills/execution-skill/SKILL.md +42 -0
- package/assets/payload/.agents/skills/execution-skill/references/runbook.md +16 -0
- package/assets/payload/.agents/skills/execution-skill/templates/blocker-update.md +13 -0
- package/assets/payload/.agents/skills/execution-skill/templates/stream-update.md +9 -0
- package/assets/payload/.agents/skills/learning-skill/SKILL.md +41 -0
- package/assets/payload/.agents/skills/learning-skill/references/runbook.md +13 -0
- package/assets/payload/.agents/skills/learning-skill/templates/improvement-backlog.md +10 -0
- package/assets/payload/.agents/skills/learning-skill/templates/retrospective.md +11 -0
- package/assets/payload/.agents/skills/planning-skill/SKILL.md +40 -0
- package/assets/payload/.agents/skills/planning-skill/references/runbook.md +15 -0
- package/assets/payload/.agents/skills/planning-skill/templates/architecture-decision.md +15 -0
- package/assets/payload/.agents/skills/planning-skill/templates/workstream-definition.md +13 -0
- package/assets/payload/.agents/skills/quality-skill/SKILL.md +40 -0
- package/assets/payload/.agents/skills/quality-skill/references/runbook.md +14 -0
- package/assets/payload/.agents/skills/quality-skill/templates/gate-decision.md +10 -0
- package/assets/payload/.agents/skills/quality-skill/templates/quality-evidence.md +16 -0
- package/assets/payload/.agents/skills/sync-skill/SKILL.md +41 -0
- package/assets/payload/.agents/skills/sync-skill/references/runbook.md +17 -0
- package/assets/payload/.agents/skills/sync-skill/templates/conflict-resolution-actions.md +10 -0
- package/assets/payload/.agents/skills/sync-skill/templates/drift-report.md +14 -0
- package/assets/payload/.delano/README.md +7 -0
- package/assets/payload/.gitattributes +14 -0
- package/assets/payload/.project/context/README.md +15 -0
- package/assets/payload/.project/context/gui-testing.md +20 -0
- package/assets/payload/.project/context/product-context.md +17 -0
- package/assets/payload/.project/context/progress.md +23 -0
- package/assets/payload/.project/context/project-brief.md +13 -0
- package/assets/payload/.project/context/project-overview.md +14 -0
- package/assets/payload/.project/context/project-structure.md +24 -0
- package/assets/payload/.project/context/project-style-guide.md +17 -0
- package/assets/payload/.project/context/system-patterns.md +22 -0
- package/assets/payload/.project/context/tech-context.md +19 -0
- package/assets/payload/.project/projects/.gitkeep +0 -0
- package/assets/payload/.project/registry/linear-map.json +6 -0
- package/assets/payload/.project/registry/migration-map.json +5 -0
- package/assets/payload/.project/templates/completion-summary.md +16 -0
- package/assets/payload/.project/templates/plan.md +30 -0
- package/assets/payload/.project/templates/progress-update.md +20 -0
- package/assets/payload/.project/templates/spec.md +42 -0
- package/assets/payload/.project/templates/task.md +33 -0
- package/assets/payload/.project/templates/workstream.md +19 -0
- package/assets/payload/HANDBOOK.md +1511 -0
- package/assets/payload/install-delano.sh +311 -0
- package/bin/delano.js +13 -0
- package/install-delano.sh +311 -0
- package/package.json +26 -0
- package/src/cli/commands/install.js +57 -0
- package/src/cli/commands/wrapper.js +26 -0
- package/src/cli/index.js +97 -0
- package/src/cli/lib/errors.js +11 -0
- package/src/cli/lib/install.js +261 -0
- package/src/cli/lib/pm.js +29 -0
- package/src/cli/lib/runtime.js +122 -0
package/README.md
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# Delano
|
|
2
|
+
|
|
3
|
+
Delano is an agent-agnostic, runtime-guided, skill-driven delivery system.
|
|
4
|
+
|
|
5
|
+
## WHY
|
|
6
|
+
|
|
7
|
+
AI-assisted delivery is fast, but it easily becomes inconsistent.
|
|
8
|
+
|
|
9
|
+
Delano exists to keep teams fast **and** reliable by giving one shared way to move from business outcomes to specs, tasks, code, and evidence.
|
|
10
|
+
|
|
11
|
+
It is designed to reduce:
|
|
12
|
+
- execution drift between planning and implementation
|
|
13
|
+
- tool-specific lock-in
|
|
14
|
+
- undocumented decisions and low-trust delivery flow
|
|
15
|
+
|
|
16
|
+
## WHAT
|
|
17
|
+
|
|
18
|
+
Delano is a spec-first runtime for software delivery, backed by explicit file contracts and deterministic scripts.
|
|
19
|
+
|
|
20
|
+
Core pieces:
|
|
21
|
+
- `HANDBOOK.md` — canonical operating model and governance
|
|
22
|
+
- `.project/` — delivery truth (projects, tasks, context, updates, decisions)
|
|
23
|
+
- `.agents/` — shared runtime (scripts, rules, hooks, skills, adapters)
|
|
24
|
+
- `.claude/` — compatibility mirror for Claude-style paths (symlink where supported, directory mirror otherwise)
|
|
25
|
+
- `.delano/` — optional UI layer
|
|
26
|
+
|
|
27
|
+
Probe-aware delivery is part of the operating model: draft the spec, make the probe decision explicit, and only approve once uncertainty is retired or consciously accepted.
|
|
28
|
+
|
|
29
|
+
Supported adapters:
|
|
30
|
+
- Claude Code
|
|
31
|
+
- Codex CLI
|
|
32
|
+
- OpenCode
|
|
33
|
+
- Pi coding agent
|
|
34
|
+
|
|
35
|
+
## HOW
|
|
36
|
+
|
|
37
|
+
### Quick start (inside a Delano repo)
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# 1) Validate the runtime and required assets
|
|
41
|
+
bash .agents/scripts/pm/validate.sh
|
|
42
|
+
|
|
43
|
+
# 2) Create a new delivery project scaffold
|
|
44
|
+
bash .agents/scripts/pm/init.sh <slug> "<Project Name>" <owner> <lead>
|
|
45
|
+
|
|
46
|
+
# 3) See portfolio/project status
|
|
47
|
+
bash .agents/scripts/pm/status.sh
|
|
48
|
+
|
|
49
|
+
# 4) Get next executable tasks
|
|
50
|
+
bash .agents/scripts/pm/next.sh
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### CLI v1 (current package work)
|
|
54
|
+
|
|
55
|
+
Delano now has a thin npm CLI layer with:
|
|
56
|
+
- package name `@bvdm/delano`
|
|
57
|
+
- binary name `delano`
|
|
58
|
+
- embedded install assets instead of a GitHub-fetch wrapper
|
|
59
|
+
- wrapper commands for `install`, `init`, `validate`, `status`, and `next`
|
|
60
|
+
|
|
61
|
+
Local development examples from this repository:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
# Build the packaged asset payload
|
|
65
|
+
npm run build:assets
|
|
66
|
+
|
|
67
|
+
# Inspect the CLI surface
|
|
68
|
+
node bin/delano.js --help
|
|
69
|
+
|
|
70
|
+
# Install the approved base payload into another repo or scratch target
|
|
71
|
+
node bin/delano.js install --target /path/to/repo --yes
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Daily operating loop
|
|
75
|
+
|
|
76
|
+
1. Keep project intent and execution synced in `.project/projects/<slug>/`.
|
|
77
|
+
2. Execute work through workstreams and atomic tasks (`tasks/T-xxx.md`).
|
|
78
|
+
3. Record progress/blockers in `updates/*.md`.
|
|
79
|
+
4. Re-run validation before merge/handoff:
|
|
80
|
+
```bash
|
|
81
|
+
bash .agents/scripts/pm/validate.sh
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Install Delano into another repository
|
|
85
|
+
|
|
86
|
+
Preferred v1 path:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
delano install --target /path/to/repo --yes
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Current source-repo development path:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
node bin/delano.js install --target /path/to/repo --yes
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Base install behavior:
|
|
99
|
+
- installs only the approved allowlist payload
|
|
100
|
+
- aborts on existing-path conflicts unless `--force` is used
|
|
101
|
+
- does not install `AGENTS.md`, `CLAUDE.md`, `CODEX.md`, `OPENCODE.md`, or `PI.md` by default
|
|
102
|
+
|
|
103
|
+
Legacy bridge path:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
./install-delano.sh
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
The shell installer remains available for migration, but it is broader than the npm base install path and should be treated as the compatibility bridge rather than the preferred v1 behavior.
|
|
110
|
+
|
|
111
|
+
Legacy non-interactive example:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
./install-delano.sh --target /path/to/repo --agents claude,codex --yes
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Read next
|
|
118
|
+
|
|
119
|
+
- `docs/user-guide.md` for the user-facing overview
|
|
120
|
+
- `HANDBOOK.md` for full operating semantics
|
|
121
|
+
- `.agents/scripts/README.md` for runtime script inventory
|
|
122
|
+
- `AGENTS.md` and adapter entrypoints (`CLAUDE.md`, `CODEX.md`, etc.) for agent-specific bootstraps
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 1,
|
|
3
|
+
"paths": [
|
|
4
|
+
".agents/adapters/claude/README.md",
|
|
5
|
+
".agents/adapters/codex/README.md",
|
|
6
|
+
".agents/adapters/opencode/README.md",
|
|
7
|
+
".agents/adapters/pi/README.md",
|
|
8
|
+
".agents/common/README.md",
|
|
9
|
+
".agents/hooks/bash-worktree-fix.sh",
|
|
10
|
+
".agents/hooks/post-tool-logger.js",
|
|
11
|
+
".agents/hooks/README.md",
|
|
12
|
+
".agents/hooks/session-tracker.js",
|
|
13
|
+
".agents/hooks/user-prompt-logger.js",
|
|
14
|
+
".agents/logs/.gitkeep",
|
|
15
|
+
".agents/logs/schema.md",
|
|
16
|
+
".agents/README.md",
|
|
17
|
+
".agents/rules/agent-coordination.md",
|
|
18
|
+
".agents/rules/datetime.md",
|
|
19
|
+
".agents/rules/frontmatter-operations.md",
|
|
20
|
+
".agents/rules/github-operations.md",
|
|
21
|
+
".agents/rules/path-standards.md",
|
|
22
|
+
".agents/rules/README.md",
|
|
23
|
+
".agents/rules/test-execution.md",
|
|
24
|
+
".agents/rules/worktree-operations.md",
|
|
25
|
+
".agents/scripts/check-path-standards.sh",
|
|
26
|
+
".agents/scripts/fix-path-standards.sh",
|
|
27
|
+
".agents/scripts/git-sparse-download.sh",
|
|
28
|
+
".agents/scripts/log-event.js",
|
|
29
|
+
".agents/scripts/log-event.sh",
|
|
30
|
+
".agents/scripts/pm/blocked.sh",
|
|
31
|
+
".agents/scripts/pm/epic-list.sh",
|
|
32
|
+
".agents/scripts/pm/in-progress.sh",
|
|
33
|
+
".agents/scripts/pm/init.sh",
|
|
34
|
+
".agents/scripts/pm/next.sh",
|
|
35
|
+
".agents/scripts/pm/prd-list.sh",
|
|
36
|
+
".agents/scripts/pm/search.sh",
|
|
37
|
+
".agents/scripts/pm/standup.sh",
|
|
38
|
+
".agents/scripts/pm/status.sh",
|
|
39
|
+
".agents/scripts/pm/validate.sh",
|
|
40
|
+
".agents/scripts/query-log.sh",
|
|
41
|
+
".agents/scripts/README.md",
|
|
42
|
+
".agents/scripts/test-and-log.sh",
|
|
43
|
+
".agents/skills/.gitkeep",
|
|
44
|
+
".agents/skills/breakdown-skill/references/runbook.md",
|
|
45
|
+
".agents/skills/breakdown-skill/SKILL.md",
|
|
46
|
+
".agents/skills/breakdown-skill/templates/ambiguity-report.md",
|
|
47
|
+
".agents/skills/breakdown-skill/templates/task-batch-summary.md",
|
|
48
|
+
".agents/skills/closeout-skill/references/runbook.md",
|
|
49
|
+
".agents/skills/closeout-skill/SKILL.md",
|
|
50
|
+
".agents/skills/closeout-skill/templates/closure-checklist.md",
|
|
51
|
+
".agents/skills/closeout-skill/templates/outcome-review.md",
|
|
52
|
+
".agents/skills/discovery-skill/references/runbook.md",
|
|
53
|
+
".agents/skills/discovery-skill/SKILL.md",
|
|
54
|
+
".agents/skills/discovery-skill/templates/clarification-questions.md",
|
|
55
|
+
".agents/skills/discovery-skill/templates/discovery-summary.md",
|
|
56
|
+
".agents/skills/execution-skill/references/runbook.md",
|
|
57
|
+
".agents/skills/execution-skill/SKILL.md",
|
|
58
|
+
".agents/skills/execution-skill/templates/blocker-update.md",
|
|
59
|
+
".agents/skills/execution-skill/templates/stream-update.md",
|
|
60
|
+
".agents/skills/learning-skill/references/runbook.md",
|
|
61
|
+
".agents/skills/learning-skill/SKILL.md",
|
|
62
|
+
".agents/skills/learning-skill/templates/improvement-backlog.md",
|
|
63
|
+
".agents/skills/learning-skill/templates/retrospective.md",
|
|
64
|
+
".agents/skills/planning-skill/references/runbook.md",
|
|
65
|
+
".agents/skills/planning-skill/SKILL.md",
|
|
66
|
+
".agents/skills/planning-skill/templates/architecture-decision.md",
|
|
67
|
+
".agents/skills/planning-skill/templates/workstream-definition.md",
|
|
68
|
+
".agents/skills/quality-skill/references/runbook.md",
|
|
69
|
+
".agents/skills/quality-skill/SKILL.md",
|
|
70
|
+
".agents/skills/quality-skill/templates/gate-decision.md",
|
|
71
|
+
".agents/skills/quality-skill/templates/quality-evidence.md",
|
|
72
|
+
".agents/skills/README.md",
|
|
73
|
+
".agents/skills/sync-skill/references/runbook.md",
|
|
74
|
+
".agents/skills/sync-skill/SKILL.md",
|
|
75
|
+
".agents/skills/sync-skill/templates/conflict-resolution-actions.md",
|
|
76
|
+
".agents/skills/sync-skill/templates/drift-report.md",
|
|
77
|
+
".delano/README.md",
|
|
78
|
+
".gitattributes",
|
|
79
|
+
".gitignore",
|
|
80
|
+
".project/context/gui-testing.md",
|
|
81
|
+
".project/context/product-context.md",
|
|
82
|
+
".project/context/progress.md",
|
|
83
|
+
".project/context/project-brief.md",
|
|
84
|
+
".project/context/project-overview.md",
|
|
85
|
+
".project/context/project-structure.md",
|
|
86
|
+
".project/context/project-style-guide.md",
|
|
87
|
+
".project/context/README.md",
|
|
88
|
+
".project/context/system-patterns.md",
|
|
89
|
+
".project/context/tech-context.md",
|
|
90
|
+
".project/projects/.gitkeep",
|
|
91
|
+
".project/registry/linear-map.json",
|
|
92
|
+
".project/registry/migration-map.json",
|
|
93
|
+
".project/templates/completion-summary.md",
|
|
94
|
+
".project/templates/plan.md",
|
|
95
|
+
".project/templates/progress-update.md",
|
|
96
|
+
".project/templates/spec.md",
|
|
97
|
+
".project/templates/task.md",
|
|
98
|
+
".project/templates/workstream.md",
|
|
99
|
+
"HANDBOOK.md",
|
|
100
|
+
"install-delano.sh"
|
|
101
|
+
]
|
|
102
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# .agents
|
|
2
|
+
|
|
3
|
+
Canonical shared runtime for Delano.
|
|
4
|
+
|
|
5
|
+
- `scripts/`, `rules/`, `hooks/`, `skills/`, `logs/` -> shared Delano runtime assets
|
|
6
|
+
- `adapters/claude/` -> Claude adapter notes
|
|
7
|
+
- `adapters/codex/` -> Codex adapter notes
|
|
8
|
+
- `adapters/opencode/` -> OpenCode adapter notes
|
|
9
|
+
- `adapters/pi/` -> Pi adapter notes
|
|
10
|
+
- `common/` -> shared adapter docs/policies
|
|
11
|
+
|
|
12
|
+
The compatibility path `.claude/` may mirror this runtime for agents that still expect Claude-style paths.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Delano Hook Layer
|
|
2
|
+
|
|
3
|
+
This directory contains optional runtime hooks for session and mutation tracking.
|
|
4
|
+
|
|
5
|
+
Default hooks:
|
|
6
|
+
- `session-tracker.js`
|
|
7
|
+
- `post-tool-logger.js`
|
|
8
|
+
- `user-prompt-logger.js`
|
|
9
|
+
- `bash-worktree-fix.sh`
|
|
10
|
+
|
|
11
|
+
All hooks append JSONL records in `.agents/logs/`.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
const fs = require('fs');
|
|
3
|
+
const path = require('path');
|
|
4
|
+
|
|
5
|
+
const payload = process.argv[2] ? JSON.parse(process.argv[2]) : { type: 'tool_mutation' };
|
|
6
|
+
const root = process.cwd();
|
|
7
|
+
const dir = path.join(root, '.agents', 'logs');
|
|
8
|
+
const file = path.join(dir, 'changes.jsonl');
|
|
9
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
10
|
+
|
|
11
|
+
const row = {
|
|
12
|
+
timestamp: new Date().toISOString(),
|
|
13
|
+
type: payload.type || 'tool_mutation',
|
|
14
|
+
actor: payload.actor || 'runtime',
|
|
15
|
+
meta: payload.meta || {}
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
fs.appendFileSync(file, JSON.stringify(row) + '\n', 'utf8');
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
const fs = require('fs');
|
|
3
|
+
const path = require('path');
|
|
4
|
+
|
|
5
|
+
const [action = 'start', sessionId = 'unknown'] = process.argv.slice(2);
|
|
6
|
+
const root = process.cwd();
|
|
7
|
+
const dir = path.join(root, '.agents', 'logs');
|
|
8
|
+
const file = path.join(dir, 'sessions.jsonl');
|
|
9
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
10
|
+
|
|
11
|
+
const row = {
|
|
12
|
+
timestamp: new Date().toISOString(),
|
|
13
|
+
action,
|
|
14
|
+
sessionId
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
fs.appendFileSync(file, JSON.stringify(row) + '\n', 'utf8');
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
const fs = require('fs');
|
|
3
|
+
const path = require('path');
|
|
4
|
+
|
|
5
|
+
const prompt = process.argv.slice(2).join(' ');
|
|
6
|
+
if (!prompt) process.exit(0);
|
|
7
|
+
|
|
8
|
+
const root = process.cwd();
|
|
9
|
+
const dir = path.join(root, '.agents', 'logs');
|
|
10
|
+
const file = path.join(dir, 'prompts.jsonl');
|
|
11
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
12
|
+
|
|
13
|
+
const row = {
|
|
14
|
+
timestamp: new Date().toISOString(),
|
|
15
|
+
prompt
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
fs.appendFileSync(file, JSON.stringify(row) + '\n', 'utf8');
|
|
File without changes
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Log Schema
|
|
2
|
+
|
|
3
|
+
## `changes.jsonl`
|
|
4
|
+
|
|
5
|
+
```json
|
|
6
|
+
{
|
|
7
|
+
"timestamp": "ISO8601 UTC",
|
|
8
|
+
"type": "event_type",
|
|
9
|
+
"actor": "system|agent|user",
|
|
10
|
+
"meta": {}
|
|
11
|
+
}
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## `sessions.jsonl`
|
|
15
|
+
|
|
16
|
+
```json
|
|
17
|
+
{
|
|
18
|
+
"timestamp": "ISO8601 UTC",
|
|
19
|
+
"action": "start|end",
|
|
20
|
+
"sessionId": "string"
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## `prompts.jsonl`
|
|
25
|
+
|
|
26
|
+
```json
|
|
27
|
+
{
|
|
28
|
+
"timestamp": "ISO8601 UTC",
|
|
29
|
+
"prompt": "string"
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## `test-runs.jsonl`
|
|
34
|
+
|
|
35
|
+
```json
|
|
36
|
+
{
|
|
37
|
+
"timestamp": "ISO8601 UTC",
|
|
38
|
+
"command": "string",
|
|
39
|
+
"exit_code": 0,
|
|
40
|
+
"log_file": ".agents/logs/tests/<id>.log"
|
|
41
|
+
}
|
|
42
|
+
```
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Delano Rule Pack
|
|
2
|
+
|
|
3
|
+
Rules encode the guardrails described in `HANDBOOK.md`.
|
|
4
|
+
|
|
5
|
+
Core rule scopes:
|
|
6
|
+
|
|
7
|
+
- datetime + frontmatter integrity
|
|
8
|
+
- GitHub safety checks
|
|
9
|
+
- path privacy
|
|
10
|
+
- branch/worktree safety
|
|
11
|
+
- test execution hygiene
|
|
12
|
+
- agent coordination protocol
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Delano Runtime Scripts
|
|
2
|
+
|
|
3
|
+
This folder contains the script runtime described in `HANDBOOK.md`.
|
|
4
|
+
|
|
5
|
+
Canonical path: `.agents/scripts/...`
|
|
6
|
+
|
|
7
|
+
Compatibility path: `.claude/scripts/...` when the mirror is present.
|
|
8
|
+
|
|
9
|
+
## PM scripts (`.agents/scripts/pm/`)
|
|
10
|
+
|
|
11
|
+
Critical path:
|
|
12
|
+
- `init.sh`
|
|
13
|
+
- `validate.sh`
|
|
14
|
+
- `status.sh`
|
|
15
|
+
- `next.sh`
|
|
16
|
+
- `blocked.sh`
|
|
17
|
+
|
|
18
|
+
Operational:
|
|
19
|
+
- `standup.sh`
|
|
20
|
+
- `in-progress.sh`
|
|
21
|
+
- `prd-list.sh`
|
|
22
|
+
- `epic-list.sh`
|
|
23
|
+
- `search.sh`
|
|
24
|
+
|
|
25
|
+
## Audit and utility
|
|
26
|
+
- `log-event.sh` / `log-event.js`
|
|
27
|
+
- `query-log.sh`
|
|
28
|
+
- `test-and-log.sh`
|
|
29
|
+
- `check-path-standards.sh`
|
|
30
|
+
- `fix-path-standards.sh`
|
|
31
|
+
- `git-sparse-download.sh`
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
root="$(git rev-parse --show-toplevel 2>/dev/null || pwd)"
|
|
5
|
+
cd "$root"
|
|
6
|
+
|
|
7
|
+
matches_file="$(mktemp)"
|
|
8
|
+
trap 'rm -f "$matches_file"' EXIT
|
|
9
|
+
|
|
10
|
+
compat_paths=()
|
|
11
|
+
if [[ -e .claude || -L .claude ]]; then
|
|
12
|
+
compat_paths+=(.claude)
|
|
13
|
+
fi
|
|
14
|
+
|
|
15
|
+
if find .project .agents "${compat_paths[@]}" \
|
|
16
|
+
-type f \
|
|
17
|
+
\( -name '*.md' -o -name '*.json' -o -name '*.yaml' -o -name '*.yml' \) \
|
|
18
|
+
-not -path '.agents/logs/*' \
|
|
19
|
+
-not -path '.claude/logs/*' \
|
|
20
|
+
-print0 | xargs -0 grep -nE '(/home/[^[:space:]]+|/Users/[^[:space:]]+|[A-Za-z]:\\[^[:space:]]+)' > "$matches_file" 2>/dev/null; then
|
|
21
|
+
echo "Absolute path violations found:"
|
|
22
|
+
cat "$matches_file"
|
|
23
|
+
exit 1
|
|
24
|
+
fi
|
|
25
|
+
|
|
26
|
+
echo "Path standards check passed."
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
if [[ $# -lt 1 ]]; then
|
|
5
|
+
echo "Usage: $0 <file...>"
|
|
6
|
+
echo "Replaces absolute user paths with <ABS_PATH> in the provided files."
|
|
7
|
+
exit 1
|
|
8
|
+
fi
|
|
9
|
+
|
|
10
|
+
for file in "$@"; do
|
|
11
|
+
[[ -f "$file" ]] || { echo "Skip missing file: $file"; continue; }
|
|
12
|
+
perl -0777 -i -pe 's#/home/[^\s)]+#<ABS_PATH>#g; s#/Users/[^\s)]+#<ABS_PATH>#g; s#[A-Za-z]:\\[^\s)]+#<ABS_PATH>#g' "$file"
|
|
13
|
+
echo "Normalized paths in: $file"
|
|
14
|
+
done
|