Files
spacedrive/docs/developers/prerequisites/environment-setup.md
Oscar Beaumont 8dc6301063 Eng 243 documentation on landing (#386)
* Updated roadmap

* Color timeline to show where we are up to

* roadmap improvements

* roadmap changes

* docs init

* progress on docs

* support metadata (name & ordering)

* fix prod build

* fix lock

* fix perender

* docs progress

* added "slots" to markdown parser

* refactor to support sections

* more docs progress

* fixes

* added empty docs

* killer opening paragraph

* fix Heroicon imports & page rendering

* tweaks

* next doc

* fix build

* fix ssg failure

* fix prod build for REAL

it was the bubbles

* fix next doc api

* it's the bubbles

* wip: docs mobile

* doc nav tweak

* doc menu ui

* fix next doc in pre-render

* react-borger-menu

* fix build

* fix height and padding

* mobile docs nav styles

* oooh super cool transition

* fix button state glitch + big headings

* refactor layout

* docs mobile nav bar style

* fix min width & height

* Merge remote-tracking branch 'refs/remotes/origin/main'

Conflicts:
	docs/architecture/spaces.md
	docs/developers/architecture/spaces.md

* placeholder docs

* correct pre styles + env setup guide

* search coming soon

* docs cleanup

* resolved cargo

* reorder docs + add image

Co-authored-by: Lu Hill <email@lewie.me>
Co-authored-by: Jamie Pine <ijamespine@me.com>
2022-09-27 19:48:42 -07:00

2.3 KiB

index
index
1

Environment Setup

To get started contributing to Spacedrive, follow this guide carefully.

This project uses Cargo and pnpm.

Installation

  1. Clone repo

    git clone https://github.com/spacedriveapp/spacedrive && cd spacedrive
    
  2. Run setup script

    For Linux or MacOS users run:

    ./.github/scripts/setup-system.sh
    

    This will install FFMPEG and any other required dependencies for Spacedrive to build.

    ...or for Windows users run using PowerShell:

    .\.github\scripts\setup-system.ps1
    

    This will install pnpm, LLVM, FFMPEG and any other required dependencies for Spacedrive to build. Ensure you run it like documented above as it expects it is executed from the root of the repository.

  3. Install dependencies

    pnpm i
    
  4. Run codegen & build required dependencies

    pnpm prep
    

Running apps

  • Desktop: pnpm desktop dev
  • Landing: pnpm landing dev
  • Server: DATA_DIR=/path/to/library cargo run -p sdcore
  • Webapp: pnpm web dev

::: slot note When changing branches, make sure to run pnpm prep command right after. This ensures all the codegen is up to date. :::

Mobile app

To run mobile app

  1. Install Android Studio for Android and Xcode for IOS development
  2. ./.github/scripts/setup-system.sh mobile The should setup most of the dependencies for the mobile app to build.
  3. You must also ensure you have NDK 24.0.8215888 and CMake in Android Studio
  4. cd apps/mobile && pnpm i - This is a separate workspace, you need to do this!
  5. pnpm android - runs on Android Emulator
  6. pnpm ios - runs on iOS Emulator
  7. pnpm dev - For already bundled app - This is only temporarily supported. The final app will require the Spacedrive Rust code which isn't included in Expo Go.

Troubleshooting

If you are having issues ensure you are using the following versions of Rust and Node:

  • Rust version: 1.64.0
  • Node version: 17