profectus-docs/docs/guide/getting-started/setup.md

53 lines
3.4 KiB
Markdown
Raw Normal View History

2022-03-02 19:28:57 -06:00
# Setting Up
2022-02-28 22:08:36 -06:00
2023-04-09 21:40:12 -05:00
Profectus requires a Node.js development environment for working on a project. If you are comfortable with the command line, a local development environment is recommended.
2022-03-02 19:28:57 -06:00
## Local Development
2023-04-09 21:40:12 -05:00
For local development, you will need the following tools:
- [git](https://git-scm.com/downloads)
- [node](https://nodejs.org/en/download/)
Create a new project from the [Profectus repository](https://code.incremental.social/profectus/Profectus) by clicking the "Use this template" button. Then, clone the repository locally using the provided link.
::: info
2023-04-17 22:43:07 -05:00
The template repository allows easy creation of multiple projects from one repository. However, updating an existing project to a newer version of Profectus can be challenging. Consider [updating Profectus](./updating.md) _before_ starting development to avoid issues with unrelated histories.
:::
It's recommended to create a new Git branch for development, allowing you to push changes without affecting the live build. The workflows will automatically rebuild the page when you push it to the `main` branch.
2023-05-16 07:13:17 -05:00
Next, install Profectus' dependencies by running `npm install`. Run `npm run dev` to start a local server hosting your project. The site will automatically reload as you modify files.
2023-04-17 22:43:07 -05:00
Also, follow the steps to [update Profectus](./updating.md) before starting to make future updates easier without worrying about unrelated histories.
2022-03-02 19:28:57 -06:00
### Deploying
Actions should be enabled by default on new repositories. To deploy, push changes to the main branch. The site will be updated automatically in a few minutes. Check progress or errors from the Actions tab on your repository.
2023-04-09 21:40:12 -05:00
Upon action completion, you will now have a `pages` branch which is automatically available at `https://<YOUR_GITHUB_USERNAME>.pages.incremental.social/<YOUR_REPO_NAME>/`. For example, the TMT Demo project hosted at https://code.incremental.social/profectus/TMT-Demo is available at https://profectus.pages.incremental.social//TMT-Demo/.
2022-03-05 22:34:42 -06:00
### Visual Studio Code Setup
2023-04-09 21:40:12 -05:00
If you don't have a preferred IDE, Profectus is developed in [Visual Studio Code](https://code.visualstudio.com) and is known to work well with it.
2022-07-09 19:42:23 -05:00
Recommendations:
- Disable emmet expansions by setting `emmet.showExpandedAbbreviation` to `"never"`, also in the preferences
2023-04-09 21:40:12 -05:00
- Install the [Vitest VS Code extension](https://marketplace.visualstudio.com/items?itemName=ZixuanChen.vitest-explorer&ssr=false#qna) for running and debugging unit tests (if working on the engine itself)
2022-03-05 22:34:42 -06:00
2022-03-02 19:28:57 -06:00
## Replit
2023-04-09 21:40:12 -05:00
As an alternative to local development, you may use [Replit](https://replit.com). Replit sets up your development and hosts your project.
2023-04-09 21:40:12 -05:00
On the free plan, you'll face limitations, and the program may need occasional startups.
2023-04-09 21:40:12 -05:00
To create a Profectus project on Replit, all you have to do is click this button:
2022-03-02 19:28:57 -06:00
[![Run on Repl.it](https://repl.it/badge/github/profectus-engine/Profectus)](https://repl.it/github/profectus-engine/Profectus)
2023-04-09 21:40:12 -05:00
Click the "Run" button at the top of the screen to start development. This will also make the project publicly accessible, essentially auto-deploying it. However, this means you cannot separate your development and production environments.
2022-03-02 19:28:57 -06:00
## Glitch
2023-04-09 21:40:12 -05:00
[Glitch](https://glitch.com) is a site similar to Replit, with many of the same pros and cons. To create a Profectus project on Glitch, select "New Project", "Import from GitHub", and enter `profectus-engine/Profectus`. The new project will be automatically configured and ready to go.