Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions gsoc2025/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -356,6 +356,38 @@ Beyond the markdown output, this plugin could be further improved by generating

- [David Rönnqvist](https://github.com/d-ronnqvist)

### OpenAPI integration with DocC

**Project size**: 350 hours (large)

**Estimated difficulty**: Intermediate

**Recommended skills**

- Basic proficiency in Swift.
- Basic knowledge in HTTP APIs.

**Description**

[OpenAPI](https://www.openapis.org/) is a standard for documenting HTTP services. It allows creating documents in YAML or JSON format that can be utilized by various tools to automate workflows, such as generating the required code for sending and receiving HTTP requests.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd say not just for documenting, but in general for defining the APIs of HTTP services. It defines the API contract between the client and the server.


OpenAPI is known for its tooling to generate documentation, but in the Swift ecosystem, developers are already familiar with how [DocC](https://github.com/swiftlang/swift-docc) renders documentation for Swift and Objective-C APIs. To enhance consistency and improve the developer experience, we aim to extend DocC’s support to OpenAPI documents.

**Expected outcomes/benefits/deliverables**

As part of the Google Summer of Code project, the student will develop a library/tool that can generate DocC documentation from an OpenAPI document.

Strech goals:

* Integrate the tool into the [Swift OpenAPI Generator](https://github.com/apple/swift-openapi-generator).
* Create OpenAPI Doc to DocC Live Preview plugin for VS Code.

**Potential mentors**

- [Sofía Rodríguez](https://github.com/sofiaromorales)
- [Si Beaumont](https://github.com/simonjbeaumont)
- [Honza Dvorsky](https://github.com/czechboy0)

### Example project name

**Project size**: N hours
Expand Down