web


git clone https://radroots.dev/git/web.git
Log | Files | Refs | Submodules | README | LICENSE

CONTRIBUTING.md (2843B)


      1 # Contributing
      2 
      3 Rad Roots is an open-source project, and we welcome all contributions — including code improvements, bug fixes, translations, new features, and bug reports.
      4 
      5 ## Translations
      6 
      7 If you would like to contribute by translating the app into another language, please visit our [localisation repository](https://github.com/radrootslabs/packages-locales). To contribute translations:
      8 
      9 1. *Fork the repository and add your language files following the existing structure.*
     10 
     11 2. *Submit a Pull Request with your changes.*
     12 
     13 
     14 If the language you would like to add translations for is not yet set up in the repository let us know by [opening an issue](https://github.com/radrootslabs/packages-locales/issues), or [email us](mailto:support@radroots.dev) and we will assist you in adding the required files.
     15 
     16 ## Development Environment
     17 
     18 Ensure the required system dependencies are installed:
     19 
     20 *Rust*
     21 ```bash
     22 $ cargo --version
     23 > cargo 1.88.0 (873a06493 2025-05-10)
     24 ```
     25 
     26 *NodeJS*
     27 ```bash
     28 $ node --version
     29 > v20.18.0
     30 ```
     31 
     32 *Yarn*
     33 ```bash
     34 $ yarn --version
     35 > 1.22.22
     36 ```
     37 
     38 ## Building
     39 
     40 This app is implemented as a progressive web application using [SvelteKit](https://svelte.dev/), and maintained as a monorepository using [Turbo](https://turborepo.com/) with individual packages tracked as Git submodules. 
     41 
     42 To begin, first clone the repository and set up your local working copy:
     43 
     44 ```bash
     45 mkdir pwa && cd pwa
     46 
     47 git clone https://github.com/radrootslabs/pwa .
     48 
     49 git remote rename origin upstream
     50 
     51 git remote add origin https://github.com/<YOUR-USERNAME>/pwa.git
     52 
     53 git push -u origin master
     54 ```
     55 
     56 Initialize and update Git submodules:
     57 ```bash
     58 git submodule update --init --recursive
     59 ```
     60 
     61 Checkout Git submodules branches:
     62 ```bash
     63 git submodule foreach 'git checkout $(git config -f $toplevel/.gitmodules submodule.$name.branch)'
     64 ```
     65 
     66 Install the application dependencies:
     67 ```bash
     68 pnpm install
     69 ```
     70 
     71 
     72 Configure local environment variables:
     73 ```bash
     74 (cd ../../../.. && uv run --project . --package radroots_scripts radroots-scripts local env generate)
     75 ```
     76 
     77 Build the application:
     78 ```bash
     79 pnpm build:app
     80 ```
     81 
     82 Run the application in development mode:
     83 ```bash
     84 (cd ../../../.. && uv run --project . --package radroots_scripts radroots-scripts local web app run)
     85 ```
     86 
     87 ## Contributing
     88 
     89 1. Create a feature branch
     90 2. Make your changes
     91 3. Submit a Pull Request
     92 4. Wait for review and address feedback
     93 
     94 ## Additional Resources
     95 
     96 - [Rust Documentation](https://www.rust-lang.org/tools/install)
     97 - [NodeJS Documentation](https://github.com/nvm-sh/nvm?tab=readme-ov-file#installing-and-updating)
     98 - [Yarn Documentation](https://classic.yarnpkg.com/en/docs)
     99 - [SvelteKit Documentation](https://svelte.dev/docs/kit/introduction)
    100 - [Turbo Documentation](https://turborepo.com/docs)
    101 
    102 ## License
    103 
    104 Refer to the LICENSE file in the repository for terms of use and distribution.