aboutsummaryrefslogtreecommitdiff
path: root/docs/pages/2-getting-started.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/pages/2-getting-started.md')
-rw-r--r--docs/pages/2-getting-started.md62
1 files changed, 62 insertions, 0 deletions
diff --git a/docs/pages/2-getting-started.md b/docs/pages/2-getting-started.md
new file mode 100644
index 0000000..77503e9
--- /dev/null
+++ b/docs/pages/2-getting-started.md
@@ -0,0 +1,62 @@
+<h1 align="center">Getting Started</h1>
+
+## Create a New Project
+
+```bash
+cargo new my-cli
+cd my-cli
+```
+
+## Add Dependency
+
+Add the following to `Cargo.toml`:
+
+```toml
+[dependencies.mingling]
+version = "0.2"
+features = []
+```
+
+## Enable Features
+
+**Mingling** has all features disabled by default and does not provide an all-in-one feature like `full`.
+
+Some features will **directly affect the behavior of the entire lifecycle**, so you need to enable them as needed, for example:
+
+```toml
+[dependencies.mingling]
+version = "0.2"
+features = [
+ "parser",
+ "comp",
+]
+```
+
+> [!NOTE]
+> Visit [docs.rs](https://docs.rs/mingling/latest/mingling/feature/index.html) or [Features](pages/other/features) to learn about all available features.
+
+## Write the Basic Entry Point
+
+Edit `src/main.rs` with the following code:
+
+```rust
+use mingling::prelude::*;
+
+fn main() {
+ let mut program = ThisProgram::new();
+
+ program.exec_and_exit();
+}
+
+gen_program!();
+```
+
+## Verify Compilation
+
+```plaintext
+~# cargo check
+```
+
+---
+
+Once everything is good, start building!