diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml
index 25fa841..7a9a0fd 100644
--- a/.github/workflows/CI.yml
+++ b/.github/workflows/CI.yml
@@ -1,9 +1,15 @@
name: CI
on:
push:
+ paths-ignore:
+ - README.md
+ - '.github/workflows/github-pages.yml'
branches:
- master
pull_request:
+ paths-ignore:
+ - README.md
+ - '.github/workflows/github-pages.yml'
branches:
- master
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..0a87dd7
--- /dev/null
+++ b/README.md
@@ -0,0 +1,89 @@
+# msg-tool
+
+msg-tool is a command-line tool for exporting, importing, packing, and unpacking script files.
+
+## How to Compile
+
+```bash
+git clone https://github.com/lifegpc/msg-tool
+cargo build --release # Build with all features enabled
+cargo build --release --no-default-features --features=circus # Build with only specific features enabled. See supported types below.
+```
+
+## Basic Usage
+### Extract messages from script files
+```bash
+msg-tool export [output]
+```
+Some script files cannot be detected automatically. You can specify the type of script file with the `--script-type` / `-t` option.
+```bash
+msg-tool export -t [output]
+```
+If the script file is an image file, you can specify the output type of the image file with the `--image-type` / `-i` option.
+```bash
+msg-tool export -i webp [output]
+```
+If the script file is an archive file, it will be unpacked and will try to extract messages/images/audio from the unpacked files. If you don't want to extract, please use the `unpack` command.
+
+If the input is a directory, all script files in the directory will be processed. (The `-r` / `--recursive` option is needed if you want to process files in subdirectories.)
+
+### Import data to script files
+```bash
+msg-tool import