mycroforge-docs/docs/getting_started.md
2024-10-06 13:24:20 +02:00

2.6 KiB

sidebar_position
2

Getting Started

Requirements

To use MycroForge, ensure you have the following dependencies installed:

Prior knowledge

Since this tool is meant to generate FastAPI & SQLAlchemy code, you should have decent knowledge of both frameworks. If not, then please follow the links below to learn more about them.

Adding the Package Registry

Before installing MycroForge, add the package registry by running the following command:

dotnet nuget add source --name devdisciples https://git.devdisciples.com/api/packages/devdisciples/nuget/index.json

Install

dotnet tool install -g MycroForge.CLI

Uninstall

dotnet tool install -g MycroForge.CLI

Windows

MycroForge is designed to run in a POSIX compliant environment. It has been tested on Windows using WSL2 with Ubuntu 22.04.03. So it is recommended to run MycroForge within the same or a similar WSL2 distribution for optimal performance.

MacOS

Post install steps

After installing MycroForge, the dotnet CLI will show a message with some instructions to make the m4g command available in zsh. It should look similar to the example below.

Tools directory '/Users/username/.dotnet/tools' is not currently on the PATH environment variable.
If you are using zsh, you can add it to your profile by running the following command:

cat << \EOF >> ~/.zprofile
# Add .NET Core SDK tools
export PATH="$PATH:/Users/username/.dotnet/tools"
EOF

And run zsh -l to make it available for current session.

You can only add it to the current session by running the following command:

export PATH="$PATH:/Users/username/.dotnet/tools"

Known issues

FastAPI swagger blank screen (MacOS only)

If you see a blank screen when opening the FastAPI Swagger documentation, then make sure you've activated the Safari developer tools.

Database container doesn't start after running m4g db run

If the database, i.e. the mariadb container, doesn't successfully start after running m4g db run the first time, then try running it again. This often works, but yeah...it's hacky. However, at the time of writing it's unknown what causes this.