Skip to content

Commit ff78c84

Browse files
Merge pull request BitGo#33 from bitgopatmcl/top-level-introduction
docs: add top level introduction
2 parents 96df19a + 156171e commit ff78c84

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

README.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,29 @@
33
**Disclaimer: This project is currently in an alpha state. Documentation is actively
44
being worked on.**
55

6+
A collection of packages for defining and using type-checked apis with TypeScript.
7+
8+
TypeScript is a very powerful type system layered on top of JavaScript, but lacks type
9+
information available at runtime. This is not likely to change because it is
10+
[an explicit non-goal](https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals#non-goals)
11+
of TypeScript. [io-ts](https://github.com/gcanti/io-ts) fills in this functionality gap.
12+
[io-ts-http](packages/io-ts-http/README.md) builds on top of `io-ts` to make it possible
13+
to define codecs that translate between HTTP requests and plain JS objects.
14+
Additionally, it provides a way to group these codecs into route definitions, and then
15+
collect the route definitions into an api. The resulting api definitions may then be
16+
used on the [client](packages/superagent-wrapper/README.md) and
17+
[server](packages/express-wrapper/README.md) to have type-checked and runtime-validated
18+
HTTP calls in a standardized manner.
19+
20+
## Getting started
21+
622
```sh
723
npm install
824
npm run build
925
npm test
1026
```
1127

12-
# License
28+
## License
1329

1430
This work is published under the Apache 2.0 license.
1531

0 commit comments

Comments
 (0)