diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
new file mode 100644
index 0000000..501e4ec
--- /dev/null
+++ b/.github/CONTRIBUTING.md
@@ -0,0 +1,24 @@
+# Contributing Guidelines
+
+Thank you for your interest in contributing to the AWS EventStream for Java library! We welcome contributions from the community to help improve and enhance this project.
+
+## Reporting Issues
+
+If you encounter any bugs, issues, or have feature requests, please open a new issue on the [GitHub repository](https://github.com/awslabs/aws-eventstream-java/issues). When reporting an issue, please provide as much detail as possible, including steps to reproduce the problem, expected behavior, and any relevant logs or error messages.
+
+## Contributing Code
+
+1. Fork the repository and create a new branch for your contribution.
+2. Make your changes and ensure that all tests pass.
+3. If you are adding new functionality, please include appropriate test cases.
+4. Follow the existing code style and conventions used in the project.
+5. Update the documentation if necessary.
+6. Submit a pull request with a clear description of your changes.
+
+## Code of Conduct
+
+Please note that this project is released with a [Code of Conduct](https://github.com/awslabs/aws-eventstream-java/blob/master/CODE_OF_CONDUCT.md). By participating in this project, you agree to abide by its terms.
+
+## License
+
+By contributing to this project, you agree that your contributions will be licensed under the [Apache 2.0 License](https://www.apache.org/licenses/LICENSE-2.0).
diff --git a/README.md b/README.md
index a43053d..d863da4 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,41 @@
-AWS EventStream for Java
+# AWS EventStream for Java
+
+The AWS EventStream for Java library provides an implementation of the AWS Event Stream protocol, a binary protocol for efficient and reliable data streaming between distributed applications. This library allows Java applications to encode, decode, and work with AWS Event Stream messages.
+
+## Installation
+
+To use the AWS EventStream for Java library in your Maven project, add the following dependency:
+
+```xml
+
+ software.amazon.eventstream
+ eventstream
+ 1.0.1
+
+```
+
+## Usage
+
+Here's an example of encoding and decoding an AWS Event Stream message:
+
+```java
+// Encode a message
+Map headers = new HashMap<>();
+headers.put(":content-type", HeaderValue.fromString("application/json"));
+byte[] payload = "{\"foo\":\"bar\"}".getBytes(StandardCharsets.UTF_8);
+Message message = new Message(headers, payload);
+ByteBuffer buffer = message.toByteBuffer();
+
+// Decode a message
+Message decodedMessage = Message.decode(buffer);
+```
+
+For more examples and detailed usage instructions, please refer to the [project documentation](https://github.com/awslabs/aws-eventstream-java).
+
+## Contributing
+
+Contributions to the AWS EventStream for Java library are welcome! Please follow the guidelines in the [CONTRIBUTING.md](https://github.com/awslabs/aws-eventstream-java/blob/master/.github/CONTRIBUTING.md) file.
## License
-This library is licensed under the Apache 2.0 License.
+This library is licensed under the [Apache 2.0 License](https://www.apache.org/licenses/LICENSE-2.0).