Skip to content

Commit ac46ce4

Browse files
authored
Merge pull request #23 from udx/fix/release-0.10.0
2 parents 1063c99 + a7e8ac7 commit ac46ce4

50 files changed

Lines changed: 2500 additions & 1284 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/dependabot.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: github-actions
4+
directory: "/"
5+
schedule:
6+
interval: weekly

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
.codex/
1010
.copilot/
1111
.devin/
12+
copilot-session-*.md
1213
tests/fixtures/tmp-bin/
1314

1415
# Generated context (regenerated by test suite at runtime)

.rabbit/context.yaml

Lines changed: 53 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,34 @@
22
# Run `dev.kit repo` to refresh.
33
kind: repoContext
44
version: udx.dev/dev.kit/v1
5-
generated: 2026-05-04
5+
generator:
6+
tool: dev.kit
7+
repo: https://github.com/udx/dev.kit
8+
version: 0.10.0
9+
generated_at: 2026-05-13T00:55:54Z
610

711
repo:
812
name: dev.kit
9-
archetype: package-cli
13+
archetype: manifest-repo
1014

1115
# Refs — Direct-read files and paths that define the repo contract.
12-
# Note: Include only files or directories an agent should read before code exploration.
16+
# Note: Include only files or directories a repo consumer should read before code exploration.
1317
# Note: Prefer README, focused docs, workflows, manifests, and explicit operational files.
1418
# Note: Exclude broad implementation directories unless they are the contract themselves.
1519

1620
refs:
1721
- ./README.md
1822
- ./changes.md
23+
- ./Makefile
24+
- ./docs/references/command-surfaces.md
25+
- ./docs/references/repo-design.md
26+
- ./src/configs/archetypes.yaml
27+
- ./src/configs/audit-rules.yaml
28+
- ./src/configs/context-config.yaml
29+
- ./src/configs/detection-patterns.yaml
30+
- ./src/configs/detection-signals.yaml
1931
- ./deploy.yml
2032
- ./.github/workflows
21-
- ./Makefile
2233
- ./docs
2334

2435
# Commands — Canonical repo entrypoints detected from strong repo signals.
@@ -30,6 +41,12 @@ commands:
3041
verify:
3142
run: make test
3243
source: Makefile
44+
build:
45+
run: make build
46+
source: docs/references/command-surfaces.md
47+
run:
48+
run: make run
49+
source: docs/references/command-surfaces.md
3350

3451
# Gaps — Factors that are missing or only partially supported by current repo signals.
3552
# Note: Base the result on explicit factor rules, not free-form judgment.
@@ -39,55 +56,47 @@ commands:
3956
gaps:
4057
- factor: config
4158
status: partial
42-
message: Config signals exist, but no explicit env contract file was detected. Add .env.example, .env.sample, or .env.template when runtime configuration is required.
59+
message: Found config-bearing repo assets in deploy.yml, but no canonical checked-in config contract is declared yet.
60+
repair_target: deploy.yml or .env.example
61+
reference: docs/references/config-contract-surfaces.md
4362
evidence:
4463
- runtime config: deploy.yml
4564

46-
# Dependencies — External repos, actions, images, or versioned manifests this repo relies on.
47-
# Note: Capture behavior defined outside the current checkout.
65+
# Dependencies — Meaningful dependency-repo contracts such as reusable workflows, images, or versioned manifests this repo relies on.
66+
# Note: Capture execution-shaping behavior defined outside the current checkout.
67+
# Note: Avoid promoting standard package inventory or ordinary GitHub action refs into top-level context.
4868
# Note: Normalize same-org versioned refs into repo slugs when possible.
49-
# Note: Keep where-used tracing so the dependency can be followed back to its source.
5069

5170
dependencies:
5271
- repo: udx/reusable-workflows
5372
kind: reusable workflow
54-
resolved: true
55-
archetype: workflow-repo
56-
description: Reusable GitHub Actions workflow templates for CI/CD
73+
resolved: false
5774
used_by:
5875
- .github/workflows/context7-ops.yml
5976
- .github/workflows/npm-release-ops.yml
60-
- repo: udx/dev.kit
61-
kind: manifest contract (v1)
62-
resolved: true
63-
declared_as: udx.dev/dev.kit/v1
64-
archetype: package-cli
65-
used_by:
66-
- src/configs/archetypes.yaml
67-
- src/configs/audit-rules.yaml
68-
- src/configs/context-config.yaml
69-
- src/configs/detection-patterns.yaml
70-
- src/configs/detection-signals.yaml
7177
- repo: udx/worker
7278
kind: manifest contract (deploy)
73-
resolved: true
79+
resolved: false
7480
declared_as: udx.io/worker-v1/deploy
75-
archetype: runtime-image
76-
description: UDX Worker Docker image
7781
used_by:
7882
- deploy.yml
7983

80-
# Manifests — YAML files that define detection rules, workflows, evaluation, deploy, or runtime behavior.
81-
# Note: Include manifests that materially shape repo behavior or agent understanding.
84+
# Manifests — YAML files that define repo-specific workflow, deploy, or contract behavior.
85+
# Note: Include custom config/manifests that materially shape repo behavior or contract understanding.
86+
# Note: Do not include workflow YAML only because it lives under .github/workflows.
87+
# Note: Promote workflow files only when they declare reusable workflow refs or other repo-specific execution contracts.
8288
# Note: Prefer structured kind and description metadata from the manifest itself.
83-
# Note: Include eval and workflow manifests, not only deploy manifests.
89+
# Note: Include hidden or nested contract dirs when they contain repo-owned manifests with meaningful metadata.
8490

8591
manifests:
92+
- path: .github/workflows/context7-ops.yml
93+
kind: githubWorkflow
94+
- path: .github/workflows/npm-release-ops.yml
95+
kind: githubWorkflow
8696
- path: src/configs/archetypes.yaml
8797
kind: repoArchetypes
88-
description: Repo archetype definitions and matching rules
98+
description: Minimal repo-level archetype definitions
8999
declared_as: udx.dev/dev.kit/v1
90-
source_repo: udx/dev.kit
91100
used_by:
92101
- lib/modules/config_catalog.sh
93102
evidence:
@@ -97,17 +106,15 @@ manifests:
97106
kind: auditRules
98107
description: Gap messages and guidance for missing or partial repo factors
99108
declared_as: udx.dev/dev.kit/v1
100-
source_repo: udx/dev.kit
101109
used_by:
102110
- lib/modules/config_catalog.sh
103111
evidence:
104112
- version: udx.dev/dev.kit/v1
105113
- path reference: lib/modules/config_catalog.sh
106114
- path: src/configs/context-config.yaml
107115
kind: contextConfig
108-
description: Repo root markers, direct-read refs, and documentation priority order
116+
description: Minimal repo root markers, direct-read refs, and documentation priority order
109117
declared_as: udx.dev/dev.kit/v1
110-
source_repo: udx/dev.kit
111118
used_by:
112119
- lib/modules/config_catalog.sh
113120
evidence:
@@ -117,7 +124,6 @@ manifests:
117124
kind: detectionPatterns
118125
description: Regex patterns for command, workflow, and env detection
119126
declared_as: udx.dev/dev.kit/v1
120-
source_repo: udx/dev.kit
121127
used_by:
122128
- lib/modules/repo_signals.sh
123129
evidence:
@@ -127,51 +133,34 @@ manifests:
127133
kind: detectionSignals
128134
description: File, directory, and glob signals for factor and dependency detection
129135
declared_as: udx.dev/dev.kit/v1
130-
source_repo: udx/dev.kit
131136
used_by:
132-
- tests/suite.sh
133137
- lib/modules/repo_signals.sh
138+
- tests/suite.sh
134139
evidence:
135140
- version: udx.dev/dev.kit/v1
136-
- path reference: tests/suite.sh
137141
- path reference: lib/modules/repo_signals.sh
138-
- path: .github/workflows/context7-ops.yml
139-
kind: githubWorkflow
140-
- path: .github/workflows/npm-release-ops.yml
141-
kind: githubWorkflow
142-
used_by:
143-
- .claude/settings.local.json
144-
evidence:
145-
- path reference: .claude/settings.local.json
142+
- path reference: tests/suite.sh
146143
- path: deploy.yml
147144
kind: workerDeployConfig
148145
declared_as: udx.io/worker-v1/deploy
149146
source_repo: udx/worker
150147
used_by:
151148
- Makefile
152-
- tests/suite.sh
153-
- tests/fixtures/docker-repo/.dev-kit/manifest.json
154-
- tests/fixtures/docker-repo/.rabbit/context.yaml
155-
- .claude/settings.local.json
156-
- lib/modules/repo_scaffold.sh
157-
- src/configs/detection-signals.yaml
149+
- docs/references/command-surfaces.md
150+
- docs/references/config-contract-surfaces.md
151+
- docs/repo-contract-boundary.md
152+
- lib/modules/repo_factors.sh
158153
- src/configs/context-config.yaml
154+
- src/configs/detection-signals.yaml
155+
- tests/suite.sh
159156
evidence:
160157
- version: udx.io/worker-v1/deploy
161158
- path reference: Makefile
162-
- path reference: tests/suite.sh
163-
- path reference: tests/fixtures/docker-repo/.dev-kit/manifest.json
164-
- path reference: tests/fixtures/docker-repo/.rabbit/context.yaml
165-
- path reference: .claude/settings.local.json
166-
- path reference: lib/modules/repo_scaffold.sh
167-
- path reference: src/configs/detection-signals.yaml
159+
- path reference: docs/references/command-surfaces.md
160+
- path reference: docs/references/config-contract-surfaces.md
161+
- path reference: docs/repo-contract-boundary.md
162+
- path reference: lib/modules/repo_factors.sh
168163
- path reference: src/configs/context-config.yaml
169-
- path: evals/promptfooconfig.yaml
170-
description: "dev.kit context impact — with vs without AGENTS.md"
171-
used_by:
172-
- Makefile
173-
- src/configs/detection-signals.yaml
174-
evidence:
175-
- path reference: Makefile
176164
- path reference: src/configs/detection-signals.yaml
165+
- path reference: tests/suite.sh
177166

AGENTS.md

Lines changed: 18 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,33 @@
11
# AGENTS.md
22

3-
_Auto-generated by `dev.kit agent`. Source: `.rabbit/context.yaml`._
3+
_Normalized repo-owned guidance for agents. Keep it aligned with `docs/references/agent-dev-workflow.md` and `.rabbit/context.yaml`._
44

55
## Repo: dev.kit
66

7-
- archetype: package-cli
87
- context: ./.rabbit/context.yaml
8+
- workflow_ref: ./docs/references/agent-dev-workflow.md
99

10-
## Operating contract
10+
## Start here
1111

12-
1. Before each session, make sure `dev.kit` itself is up to date, then run `dev.kit`. Refresh focused layers with `dev.kit repo` or `dev.kit agent` after repo changes.
13-
2. Read `.rabbit/context.yaml` first. It is the machine contract for refs, commands, dependencies, manifests, and gaps.
14-
3. Read only the refs, manifests, dependency context, and explicitly referenced paths from `context.yaml`. Avoid broad filesystem scans.
15-
4. Prefer manifests and repo-declared commands over implementation guesses. Do not edit generated `.rabbit/context.yaml` directly.
16-
5. Fetch dynamic GitHub state with `gh` only when the current task needs issues, PRs, reviews, workflow runs, or alerts.
12+
1. Make sure `dev.kit` itself is current, then run `dev.kit`.
13+
2. Read `.rabbit/context.yaml` first when it exists.
14+
3. Read the highest-priority refs and manifests that `context.yaml` points to.
15+
4. Run `dev.kit repo` after repo changes or when context is missing or stale.
1716

18-
### Dependency context
17+
## Operating rules
1918

20-
When a dependency entry points to another repo, treat that repo as its own context boundary. Prefer the dependency repo’s `.rabbit/context.yaml`; if it is missing in a local checkout, run `dev.kit repo` from that dependency repo before reading its implementation files.
21-
22-
For manifest backend traces, read the manifest first, then the traced backend path or docs listed under that manifest entry. Use live GitHub lookups only when local dependency context is unavailable or stale.
23-
24-
### Gap repair loop
25-
26-
For each gap, read its evidence in `context.yaml`, identify the repo-owned source asset that should declare the missing contract, patch that source asset, then rerun `dev.kit repo`. Repeat until the gap is resolved or clearly document why the repo intentionally cannot cover it.
27-
28-
Do not patch generated context to hide a gap. Fix docs, example env files, manifests, workflows, package scripts, Dockerfiles, or other primary repo assets so the next context refresh can detect the improvement.
29-
30-
- config (partial): Config signals exist, but no explicit env contract file was detected. Add .env.example, .env.sample, or .env.template when runtime configuration is required.
19+
- treat `.rabbit/context.yaml` as generated repo evidence, not hand-authored guidance
20+
- prefer repo-declared commands and manifests over guessed behavior
21+
- keep durable workflow guidance in repo-owned docs, especially `docs/references/agent-dev-workflow.md`
22+
- when a gap appears, repair the owning repo asset and rerun `dev.kit repo`
23+
- use live GitHub data only when the task needs issues, PRs, reviews, workflow runs, or alerts
3124

3225
## Workflow
3326

34-
Use these repo-derived steps as the default operating path. Adapt them to the current agent role instead of forcing a single development lifecycle onto every task.
27+
- read: `README.md`, `changes.md`, `deploy.yml`, `.github/workflows/`, `docs/`
28+
- verify: `make test`
3529

36-
- Read the highest-priority repo refs first: ./README.md, ./changes.md, ./deploy.yml, ./.github/workflows, ./Makefile, ./docs
37-
- Run the canonical verification command: make test
30+
## Notes
3831

32+
- `AGENTS.md` is optional and repo-owned in this repo
33+
- the reference doc is the fuller source of examples, Q&A, and best practices

Makefile

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
WORKER_IMAGE := usabilitydynamics/udx-worker:latest
22

3-
.PHONY: test test-real test-docker test-docker-pull test-shell eval eval-view
3+
.PHONY: test test-real test-docker test-docker-pull test-shell
44

55
# Run tests locally
66
test:
@@ -21,12 +21,4 @@ test-shell:
2121

2222
# Pull the worker image explicitly
2323
test-docker-pull:
24-
docker pull $(WORKER_IMAGE)
25-
26-
# Run promptfoo eval — measures agent accuracy with vs without dev.kit context
27-
eval:
28-
promptfoo eval -c evals/promptfooconfig.yaml
29-
30-
# View eval results in browser
31-
eval-view:
32-
promptfoo view
24+
docker pull $(WORKER_IMAGE)

0 commit comments

Comments
 (0)