<center>
<img style="width: 100%; max-width: 375px;" src="https://codemelted.com/assets/images/logo-codemelted-developer.png" /></a><br />
</center>
<h1><img style="height: 35px;" src="https://codemelted.com/assets/favicon/apple-touch-icon.png" /> codemelted.rs Project</h1>
The following document will help you setup this repo for local development by
1. Installing the necessary tools to build / test the `codemelted.rs` module.
2. Setup and utilization of VS code.
3. Deployment / publishing of the crate and crate website information.
<center>
<br />
<a href="https://www.buymeacoffee.com/codemelted" target="_blank">
<img height="50px" src="https://codemelted.com/assets/images/icon-bmc-button.png" />
</a>
<br /><br />
<p>Hope you enjoy the content. Any support is greatly appreciated. Thank you! 🙇</p>
</center>
**Table of Contents**
# Environment Setup
The following are the items recommended for installation to properly make use of this repo in your development environment.
### GitHub
- [git](https://git-scm.com/downloads)
- [GitHub Desktop](https://desktop.github.com/)
### Programming Languages
- [Deno](https://deno.com/)
- [NodeJS](https://nodejs.org/en)
- [Rust](https://doc.rust-lang.org/book/ch01-01-installation.html)
- [PowerShell Core](https://github.com/PowerShell/PowerShell)
### VS Code
**The Application:**
- [VS Code](https://code.visualstudio.com/)
**Extensions:**
- [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker)
- [Dart](https://marketplace.visualstudio.com/items?itemName=Dart-Code.dart-code)
- [Deno](https://marketplace.visualstudio.com/items?itemName=denoland.vscode-deno)
- [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)
- [Markdown All in One](https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-one)
- [Markdown Preview Mermaid Support](https://marketplace.visualstudio.com/items?itemName=bierner.markdown-mermaid)
- [PowerShell](https://marketplace.visualstudio.com/items?itemName=ms-vscode.PowerShell)
- [Rust](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer)
# Repo Structure
## build Scripts
**Execute:**
`./build.ps1 --action`
**Flags:**
- `--deploy` : Deploys the SDK documentation to the codemelted.com/developer site.
- `--make` : Executes the multiple builds for the crate, CLI, and WASM targets.
- `--test` : Executes the different tests for the `codemelted.rs` and `codemelted.js` modules.
- `--publish` : Publishes the `codemelted.rs` crate and CLI to `crates.io`
## Main Repo
The main repo `codemelted.rs` is the `codemelted.rs` published crate and `codemelted` Command Line Interface. Added to these are the `js`, `mdbook`, and `models` folders.
### js Folder
The `js` folder contains the `codemelted.js` namespace that feeds as an input when building the `codemelted.rs` module WASM build. This utilizes the two modules to build a `codemelted.js` and `codemelted.wasm` files for utilization in V8 backend runtimes (Deno or NodeJS) and frontend browser runtime.
*NOTE: The `codemelted.rs` crate will also support using Rust to compile a web application.*
### mdbook Folder
The `mdbook` folder contains the living book of titled *codemelted.rs: The Swiss Army Knife Full Stack Solution* which documents the overall journey of this repo and how it is being utilized for different projects and domains.
### models Folder
The `models` folder contains the `mermaid` markdown documents for the different domain use cases. These are captured within the `codemelted.rs` crate SDK documentation.
### index.html File
Static page for the `codemelted.com/developer` domain to gain quick access to this project's different SDK documentation vs. the main `rs.codemelted.com` sub-domain with additional resources.