Skip to content

Feat/openapi multifile spec#11

Merged
EvilFreelancer merged 1 commit intomainfrom
feat/openapi-multifile-spec
Mar 18, 2026
Merged

Feat/openapi multifile spec#11
EvilFreelancer merged 1 commit intomainfrom
feat/openapi-multifile-spec

Conversation

@snow-ghost
Copy link
Collaborator

Summary

This PR continues the OpenAPI / Swagger compatibility work in ocli by
adding support for multi-document specs and richer schema-aware command help.

What changed

Multi-document spec support

  • Added external $ref resolution across local files and remote documents
  • Added support for multi-document OpenAPI / Swagger descriptions that split
    paths, parameters, and request bodies across files
  • Resolved external references before caching the normalized spec

Richer schema-aware help

  • Extended generated command metadata with schema hints
  • Added enum, default, nullable, and oneOf hints to ocli <command> --help
  • Improved schema normalization for composed schemas using allOf

User impact

These changes improve compatibility with modular OpenAPI documents and make
generated commands easier to use without opening the original spec.

Users now get:

  • better support for specs that rely on external references
  • smoother handling of split YAML / JSON definitions
  • more informative help output for request parameters and body fields

Documentation

README was updated with a new user-facing section describing:

  • multi-file spec support
  • external $ref support
  • richer schema-aware command help
  • improved handling of composed request schemas

@snow-ghost snow-ghost force-pushed the feat/openapi-multifile-spec branch 2 times, most recently from 8858ae2 to 785cc73 Compare March 18, 2026 12:10
@snow-ghost snow-ghost force-pushed the feat/openapi-multifile-spec branch from 785cc73 to a6ba238 Compare March 18, 2026 15:12
@EvilFreelancer EvilFreelancer merged commit cfbc395 into main Mar 18, 2026
1 check 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.

2 participants