Skip to content

feat(core): name recipes .ocw-in.json and .ocw-out.json - #256

Merged
russoedu merged 2 commits into
mainfrom
feat/ocw-recipe-suffix
Oct 14, 2026
Merged

russoedu merged 2 commits into
mainfrom
feat/ocw-recipe-suffix

Conversation

@russoedu

Copy link
Copy Markdown
Collaborator

Why

A recipe was any .json in a folder, so one among other JSON files was easy to lose, and a stray package.json failed the whole load.

What

  • Names: <id>.ocw-in.json is an input recipe, <id>.ocw-out.json an output recipe. Still plain JSON.
  • Reading a folder (core readRecipeFiles, used by the CLI, MCP and Studio): with any marked file present, those are read plus any other .json/.jsonl whose kind is input or output; other JSON beside them is left alone. A folder with none reads as before, so existing *.input.json / *.output.json keep working.
  • Safety: a file named for one kind that holds the other is an error; kind inside the file stays the authority.
  • Studio: "New recipe" and document import write the new names.
  • VS Code: jsonValidation maps *.ocw-in.json and *.ocw-out.json to the input and output schemas (needs an extension version bump to ship; see feat(vscode): release 0.1.0 #255).
  • Docs: a "File names" section in docs/recipes/authoring.md.
  • Adds assets/ (logos and icons) as its own commit.

Not in this PR

Renaming the 196 tracked *.input.json / *.output.json files (examples, test fixtures, docs) to the new names. They keep working; that is a mechanical follow-up.

Test plan

  • nx run-many -t lint,typecheck,test,build -p core cli studio studio-ui mcp vscode

🤖 Generated with Claude Code

russoedu and others added 2 commits October 14, 2026 08:15
… them beside other JSON

A folder holding any .ocw-in.json or .ocw-out.json file is read for those plus
any other file whose kind is input or output, so package.json and data files
no longer fail the load. A folder without them reads as before, and a file
named for one kind that holds the other is an error. Studio's New recipe and
document import write the new names, and the VS Code extension validates both
against their schemas.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_014yC6LN4a8qnR7gu3QmRnbg
@russoedu
russoedu merged commit 2527dea into main Oct 14, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant