diff --git a/README.md b/README.md
new file mode 100644
index 0000000..38b23ba
--- /dev/null
+++ b/README.md
@@ -0,0 +1,56 @@
+# Dynamic Update Readme
+
+[![Releases](https://img.shields.io/github/v/release/gnpaone/dynamic-update-readme?style=flat-square)](https://github.com/gnpaone/dynamic-update-readme/releases)
+[![Build](https://img.shields.io/github/actions/workflow/status/gnpaone/dynamic-update-readme/build.yml?style=flat-square&logo=github)](https://github.com/gnpaone/dynamic-update-readme/actions/workflows/build.yml)
+[![LICENSE](https://img.shields.io/github/license/gnpaone/dynamic-update-readme?color=green&style=flat-square)](https://github.com/gnpaone/dynamic-update-readme/blob/main/LICENSE)
+[![Issues](https://img.shields.io/github/issues/gnpaone/dynamic-update-readme?color=orange&style=flat-square)](https://github.com/gnpaone/dynamic-update-readme/issues)
+[![Go](https://img.shields.io/github/go-mod/go-version/gnpaone/dynamic-update-readme?color=maroon&style=flat-square)](https://github.com/gnpaone/dynamic-update-readme/blob/main/go.mod)
+[![Godoc](https://pkg.go.dev/badge/github.com/gnpaone/dynamic-update-readme.svg?utm_source=godoc)](https://godoc.org/github.com/gnpaone/dynamic-update-readme)
+
+#### As a power user, automate the updating of markdown text with content obtained from other actions in the workflow, as well as a Go module that can update markdown text
+
+---
+
+## Introduction
+
+A Go module that updates markdown text and is integrated as a GitHub Action.
+
+## Parameters
+
+| Parameter | Workflow default | Description | Required | Possible values |
+|:----------------:|:-------------------:|:-------------------------------------------|:-----------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| readme_path | ./README.md | Path of the markdown file | No | *File path relative to the root directory of the GitHub repo* |
+| marker_text | *null* | Marker text to replace in markdown file | Yes | *Example markers to be added in the markdown:*
`` |
+| markdown_text | *null* | Markdown text that needs to be updated | Yes | *Any markdown compatible text (For GitHub markdown please check [GitHub Flavored Markdown parser](https://github.github.com/gfm/))* |
+| table | false | Markdown text is a table | No | true, false |
+| table_options | *null* | Alignment for the table | No | align-*Alignment*, head-align-*Alignment*, text-align-*Alignment*, col-*Column*-align-*Alignment*, col-*Column*-w-*Min-width*, colH-*Column*-align-*Alignment*, colT-*Column*-align-*Alignment* |
+
+_Alignment_: `left, right, center`
_Column_: Column number of the table (starts with `0`)
_Min-width_: Minimum width of a column (in other words, minimum number of hyphens (`-`) in the delimiter row)
+
+### Notes:
+* Make sure to change the following in your GitHub repo settings: `Actions` > `General` > `Workflow permissions` > Choose `Read and write permissions` > Check `Allow GitHub Actions to create and approve pull requests` > `Save`.
+* Other parameters `commit_user`, `commit_email`, `commit_message` and `confirm_and_push` related to action workflow are optional.
+* If `confirm_and_push` is "false" committer detalis can be accessed via `outputs.commit_user`, `outputs.commit_email` & `outputs.commit_message` for further usage in the workflow.
+* The `table` parameter is optional as `markdown_text` supports table markdown syntax by default but this parameter can be used as a simple alternative or any special use case. If `table` is "true":
+ - `markdown_text` contents should follow these conditions:
+ + Table row contents are seperated with ";" delimiter. First element will make up the table header.
+ + For each element of table rows, table column contents are seperated with "," delimiter.
+ - `table_options` can be used only if `table` is "true".
+ + Description of options/values:
+ 1. `align-`: This option aligns the whole table according to the alignment set.
+ 2. `head-`: This option aligns the header row of the table according to the alignment set.
+ 3. `text-`: This option aligns all the data rows of the table according to the alignment set.
+ 4. `col-`: This option sets properties of any particular column based on the column number.
+ 5. `colH-`: This option sets properties of header row of any particular column based on the column number.
+ 6. `colT-`: This option sets properties of data rows of any particular column based on the column number.
+ + Order of preference of the alignment options:
+ 1. Header rows: `colH-` > `col-` > `head-` > `align-`
+ 2. Data rows: `colT-` > `col-` > `text-` > `align-`
+* The markdown file must contain start marker `` and end marker `` where "EXAMPLE_MARKER" is the input of `marker_text` parameter. Note that the `_START` and `_END` part is important.
+
+## Usage
+Check the example workflow [here](https://github.com/gnpaone/dynamic-update-readme/blob/main/examples/update.yml).
+
+## License
+This project is licensed under GPL-3.0.
+Copyright © 2024, Naveen Prashanth. All Rights Reserved.