Skip to content

Commit a462f52

Browse files
sichanyooSichan Yoo
andauthored
chore: README.md update (#828)
* Revamp README.md. * Add API reference link. * Fix typos * Change order * Add book emoji --------- Co-authored-by: Sichan Yoo <[email protected]>
1 parent b6e9fbf commit a462f52

File tree

1 file changed

+59
-11
lines changed

1 file changed

+59
-11
lines changed

README.md

Lines changed: 59 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,73 @@
1-
## Smithy Swift
2-
3-
Smithy code generators for Swift.
4-
5-
**WARNING: All interfaces are subject to change.**
1+
# <img alt="Smithy" src="https://github.com/smithy-lang/smithy/blob/main/docs/_static/favicon.png?raw=true" width="28"> Smithy Swift
62

73
[![License][apache-badge]][apache-url]
84

95
[apache-badge]: https://img.shields.io/badge/License-Apache%202.0-blue.svg
106
[apache-url]: LICENSE
117

8+
[Smithy](https://smithy.io/2.0/index.html) code generators for [Swift](https://www.swift.org).
9+
10+
> **⚠️ WARNING**: All interfaces are subject to change.
11+
12+
## Getting Started
13+
14+
- Check out [high-level overview of Smithy](https://smithy.io/2.0/index.html)
15+
- Try out Smithy by following [the quick start guide](https://smithy.io/2.0/quickstart.html)
16+
- Apply the Smithy Swift codegen plugin to your Gradle project to generate Swift code
17+
18+
## Feedback
19+
20+
If you'd like to provide feedback, report a bug, request a feature, or would like to bring
21+
attention to an issue in general, please do so by submitting a GitHub issue to the repo [here](https://github.com/smithy-lang/smithy-swift/issues/new/choose).
22+
23+
This is the preferred mechanism for user feedback as it allows anyone with similar issue or suggestion to engage in conversation as well.
24+
25+
## Contributing
26+
27+
If you are interested in contributing to Smithy Swift, see [CONTRIBUTING](CONTRIBUTING.md) for more information.
28+
1229
## Development
1330

14-
### Kotlin Modules
31+
### Module Structure
32+
33+
#### Codegen Modules
1534

16-
* `smithy-swift-codegen` - a module that generates Swift code from Smithy models.
35+
* `smithy-swift-codegen` - the Kotlin module that generates Swift code from Smithy models.
1736

18-
### Swift Modules
37+
#### Runtime Modules (under `Sources/`)
1938

20-
* `ClientRuntime` - provides networking, serialization interfaces and implementations using the AWS Swift CRT Bindings for a Swift SDK generated from Smithy Models.
21-
* `SmithyTestUtil` - provides helper methods for auto-generated Swift unit tests.
39+
* API modules
40+
* `SmithyChecksumsAPI` - protocols & enums for checksum
41+
* `SmithyEventStreamsAPI` - protocols & enums for encoding / decoding a single event stream message
42+
* `SmithyEventStreamsAuthAPI` - protocols & enums for encoding / decoding event streams and signing event stream messages
43+
* `SmithyHTTPAPI` - protocols & enums for HTTP request and response
44+
* `SmithyHTTPAuthAPI` - protocols & enums related to signing HTTP requests
45+
* `SmithyIdentityAPI` - protocols & enums for identity and identity resolver, which are used to sign requests
46+
* `SmithyRetriesAPI` - protocols & enums related to automatic client-side retry behavior
47+
* `SmithyWaitersAPI` - protocols & enums related to waiters
48+
49+
50+
* Implementation modules
51+
* `ClientRuntime` - various runtime functionality used by generated code; contains
52+
anything that doesn't squarely fit into other implementation modules below. Has most
53+
of the runtime modules as its dependency.
54+
* `Smithy` - core functionality used by all clients and other runtime modules, such
55+
as custom logger type and generic request and response types
56+
* `SmithyChecksums` - implementations for checksum algorithms
57+
* `SmithyEventStreams` - implementations for message encoder / decoder and event stream encoder / decoder
58+
* `SmithyHTTPAuth` - concrete types related to auth flow
59+
* `SmithyHTTPClient` - concrete request type and its builder
60+
* `SmithyIdentity` - concrete identity types and identity resolvers for those identity types
61+
* `SmithyRetries` - concrete retry strategy types
62+
* `SmithyStreams` - concrete stream types
63+
* `SmithyTimestamps` - utility implementations for timestamp shapes in Smithy
64+
* `SmithyReadWrite` - generic implementations for runtime serde
65+
* `SmithyJSON` - serde implementations specific to JSON
66+
* `SmithyXML` - serde implementations specific to XML
67+
* `SmithyFormURL` - serde implementations specific to FormURL
68+
* `SmithyTestUtil` - helper methods for auto-generated Swift unit tests.
69+
70+
> 📖 For more information on runtime modules, see [the Smithy Runtime Module Documentation in API reference](https://sdk.amazonaws.com/swift/api/awssdkforswift/latest/documentation/awssdkforswift#Smithy-Runtime-Module-Documentation).
2271
2372
## License
2473

@@ -27,4 +76,3 @@ This project is licensed under the Apache-2.0 License.
2776
## Security
2877

2978
See [CONTRIBUTING](CONTRIBUTING.md) for more information.
30-

0 commit comments

Comments
 (0)