doc: update CONTRIBUTING.md

This commit is contained in:
KernelDeimos 2024-12-04 16:33:45 -05:00
parent 9992252083
commit 8848055f1b
2 changed files with 25 additions and 18 deletions

View File

@ -45,15 +45,18 @@ If you'd like to contribute code to Puter, you need to fork the project and subm
We'll review your pull request and work with you to get your changes merged into the project. We'll review your pull request and work with you to get your changes merged into the project.
## Repository Structure
![file structure](./doc/File%20Structure.drawio.png)
## Your first code contribution ## Your first code contribution
We maintain a list of issues that are good for first-time contributors. You can find these issues by searching for the [`good first issue`](https://github.com/HeyPuter/puter/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) label in our [GitHub repository](https://github.com/HeyPuter/puter). These issues are designed to be relatively easy to fix, and we're happy to help you get started. Pick an issue that interests you, and leave a comment on the issue to let us know you're working on it. We maintain a list of issues that are good for first-time contributors. You can find these issues by searching for the [`good first issue`](https://github.com/HeyPuter/puter/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) label in our [GitHub repository](https://github.com/HeyPuter/puter). These issues are designed to be relatively easy to fix, and we're happy to help you get started. Pick an issue that interests you, and leave a comment on the issue to let us know you're working on it.
<br>
## Documentation for Contributors ## Documentation for Contributors
See [doc/contributors/index.md](./doc/contributors/index.md) for more information. ### Backend
See [src/backend/CONTRIBUTING.md](src/backend/CONTRIBUTING.md)
<br> <br>

View File

@ -1,18 +1,22 @@
# Contributing to Puter's Backend # Contributing to Puter's Backend
## File Structure
## Architecture ## Architecture
- [boot sequence](./boot-sequence.md) - [boot sequence](./doc/contributors/boot-sequence.md)
- [modules and services](./modules.md) - [modules and services](./doc/contributors/modules.md)
## Features ## Features
- [protected apps](../features/protected-apps.md) - [protected apps](./doc/features/protected-apps.md)
- [service scripts](../features/service-scripts.md) - [service scripts](./doc/features/service-scripts.md)
## Lists of Things ## Lists of Things
- [list of permissions](../lists-of-things/list-of-permissions.md) - [list of permissions](./doc/lists-of-things/list-of-permissions.md)
## Code-First Approach ## Code-First Approach
@ -20,21 +24,21 @@ If you prefer to understand a system by looking at the
first files which are invoked and starting from there, first files which are invoked and starting from there,
here's a handy list! here's a handy list!
- [Kernel](../../src/Kernel.js), despite its intimidating name, is a - [Kernel](./src/Kernel.js), despite its intimidating name, is a
relatively simple (< 200 LOC) class which loads the modules relatively simple (< 200 LOC) class which loads the modules
(modules register services), and then starts all the services. (modules register services), and then starts all the services.
- [RuntimeEnvironment](../../src/boot/RuntimeEnvironment.js) - [RuntimeEnvironment](./src/boot/RuntimeEnvironment.js)
sets the configuration and runtime directories. It's invoked by Kernel. sets the configuration and runtime directories. It's invoked by Kernel.
- The default setup for running a self-hosted Puter loads these modules: - The default setup for running a self-hosted Puter loads these modules:
- [CoreModule](../../src/CoreModule.js) - [CoreModule](./src/CoreModule.js)
- [DatabaseModule](../../src/DatabaseModule.js) - [DatabaseModule](./src/DatabaseModule.js)
- [LocalDiskStorageModule](../../src/LocalDiskStorageModule.js) - [LocalDiskStorageModule](./src/LocalDiskStorageModule.js)
- HTTP endpoints are registered with - HTTP endpoints are registered with
[WebServerService](../../src/services/WebServerService.js) [WebServerService](./src/services/WebServerService.js)
by these services: by these services:
- [ServeGUIService](../../src/services/ServeGUIService.js) - [ServeGUIService](./src/services/ServeGUIService.js)
- [PuterAPIService](../../src/services/PuterAPIService.js) - [PuterAPIService](./src/services/PuterAPIService.js)
- [FilesystemAPIService](../../src/services/FilesystemAPIService.js) - [FilesystemAPIService](./src/services/FilesystemAPIService.js)
## Development Philosophies ## Development Philosophies
@ -71,7 +75,7 @@ doing the useless work that reveals what the useful work is.
## Underlying Constructs ## Underlying Constructs
- [putility's README.md](../../packages/putility/README.md) - [putility's README.md](../putility/README.md)
- Whenever you see `AdvancedBase`, that's from here - Whenever you see `AdvancedBase`, that's from here
- Many things in backend extend this. Anything that doesn't only doesn't - Many things in backend extend this. Anything that doesn't only doesn't
because it was written before `AdvancedBase` existed. because it was written before `AdvancedBase` existed.