microsoft / microsoft/typespec

client.tsps should allow language-specific documentation including samples

Open
#6,008 4 comments 1 reaction 0 assignees View on GitHub
design:needed emitter:client:all
Dominant language
Java
Stars
5.9k
Forks
394
Avg merge
1d 23h
Merged PRs (30d)
104

Description

### Clear and concise description of the problem

We already have `/** */` and `@doc` for adding documentation to entities, but as we are looking to generate more and more and manually code less, we need a way for service teams to add language-specific documentation and examples that get included in docs.

We discussed a few ideas internally, including:

* Something like an `@additionalDoc` attribute that takes a language much like `@clientName` does today.
* For samples, maybe we can link to a file that can live in the repo or something, like `@sampleFile` that also takes a language.

Emitters can decide where to put these. In rust, for example, doc comments are very right. We'd likely do something like this (conceptually):

```
/// @doc[0]
///
/// @doc[1..]
///
/// @additionalDoc...
///
/// # Examples
///
/// @sampleFile...
```

As we expose clients in public API, this will be necessary to provide good, useful documentation that shows customers how to use our APIs, like is common in Rust:

Image

### Checklist

- [x] Follow our [Code of Conduct](https://github.com/microsoft/typespec/blob/main/CODE_OF_CONDUCT.md)
- [x] Read the [docs](https://typespec.io/docs/).
- [x] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.