Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 13 additions & 21 deletions contributor/code/development-setup.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,10 @@
Getting Started
===============
# Development Environment Setup

## Requirements
This guide will help you set up your development machine for contributing code to GhostBSD. Whether you want to work on Python applications, C system tools, or shell scripts, follow these steps to get started.

### Communication in English
Our developers hail from all over the globe, and English is the common language we use to collaborate. You don’t need to be fluent, but you should be comfortable enough to understand and communicate ideas effectively.
## Prerequisites

If you're reading this, you're likely good to go!

### Familiarity with Git
We use Git as our version control system to manage changes across all projects. It’s a cornerstone of our workflow, so understanding the basics is essential.

If you're new to Git, take a moment to learn it before diving in. Check out the [GitHub Docs](https://docs.github.com/en/get-started/start-your-journey) for a solid introduction. Focus on concepts like commits, branches, remotes, and pull requests.

### A GitHub Account
We host our repositories on GitHub, so you’ll need an account to browse code, fork projects, and submit pull requests. If you don’t have one yet, sign up at [GitHub](https://github.com/) and explore the [GitHub Docs](https://docs.github.com/) to get familiar with the platform.

### Running GhostBSD
For the best experience, run the latest stable version of GhostBSD on your development machine. While older versions or FreeBSD might work, the latest GhostBSD ensures compatibility with our tools and libraries.

You can download the latest ISO from the [GhostBSD website](https://www.ghostbsd.org/download) and install it on a physical machine or a virtual environment.
Before setting up your development environment, make sure you've covered the [general contributor requirements](../getting-started/index#requirements-for-all-contributors) including Git, GitHub account, and preferably running GhostBSD.

## Technologies We Use
Here’s a quick rundown of the tools and languages you’ll encounter in GhostBSD development.
Expand Down Expand Up @@ -53,14 +38,21 @@ sudo pkg install dconf-editor

Let's get your machine ready for GhostBSD development.

### Install GhostBSD Base System Development Tools
### Install Development Tools

GhostBSD doesn’t come with base system development tools preinstalled. To enable compiling code and ports, install the `GhostBSD*-dev` packages. These include essential build tools, compilers, and libraries:
#### Essential Development Packages
Install the development toolkit and OS development packages:

```shell
# Install development tools and utilities
sudo pkg install ghostbsd-devel-tools

# Install OS development packages (compilers, libraries, build tools)
sudo pkg install -g 'GhostBSD*-dev'
```

The `ghostbsd-devel-tools` package provides commonly used development tools and utilities, while the `GhostBSD*-dev` packages include essential build tools, compilers, and libraries needed for system-level development.

### Create a Development Directory
Organize your work in a dedicated directory. A common spot is your home directory:

Expand Down
5 changes: 4 additions & 1 deletion contributor/code/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,10 @@ Automation and system configuration:

## Getting Started with Code

- [Development Environment Setup](development-setup) – Set up your development machine and tools
### First Steps
**[Development Environment Setup](development-setup)** – **Start here!** Set up your development machine, install tools, and configure your environment for GhostBSD development.

### Development Guides
- [Python Development Guide](python-guide) – Contributing to our GTK3 applications
- [C Development Guide](c-guide) – Working with system components
- [Shell Scripting Guide](shell-guide) – Build tools and configuration scripts
Expand Down
38 changes: 28 additions & 10 deletions contributor/documentation/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,47 @@ Ready to contribute to GhostBSD documentation? This guide will help you get star

Writing documentation is a great way to start improving GhostBSD user experience, and you will be helping a lot of GhostBSD users to better understand their desktop and applications. Anyone with reasonable English skills and good knowledge of FreeBSD, GhostBSD or MATE can help.

## Communicating with the team
## Prerequisites

Before contributing to documentation, make sure you've covered the [general contributor requirements](../getting-started/index#requirements-for-all-contributors) including Git, GitHub account, and familiarity with basic version control concepts.

There are many ways to get in touch with the team:
* [GhostBSD Dev](https://t.me/ghostbsd_dev) Group on Telegram
* [#ghostbsd-dev:libera.chat](https://app.element.io/#/room/#ghostbsd-dev:libera.chat) channel on Matrix
* #ghostbsd-dev on the Libera Chat IRC.
## Communicating with the team

Those three messaging platform are connected together. So whatever you use IRC, Telegram or Matrix you will be connected to all the messaging platform.
Get in touch with the team through our [GhostBSD Contributors](https://t.me/ghostbsd_dev) Group on Telegram.

## Getting the resources

To document GhostBSD projects, you will want to run a [recent GhostBSD build](https://www.ghostbsd.org/download#latest_builds), and to document third-party projects, you will also need a recent version of that program. We are use [Sphinx](https://www.sphinx-doc.org) with [MyST](https://myst-parser.readthedocs.io) to makes it easy to create our Documentation Hub. Any one that wants to help should start to be familiar with [Git](getting-started/getting-started.md#knowing-how-to-use-git), [GitHub](getting-started/getting-started.md#knowing-how-to-use-github) and [MyST Markdown syntax](https://myst-parser.readthedocs.io/en/latest/intro.html).
To document GhostBSD projects, you will want to run a [recent GhostBSD release](https://www.ghostbsd.org/download), and to document third-party projects, you will also need a recent version of that program. We use [Sphinx](https://www.sphinx-doc.org) with [MyST](https://myst-parser.readthedocs.io) to make it easy to create our Documentation Hub. You should also get familiar with [MyST Markdown syntax](https://myst-parser.readthedocs.io/en/latest/intro.html).

## Setting up the Documentation Environment

1. **Clone the documentation repository:**
```bash
git clone https://github.com/ghostbsd/documentation.git
cd documentation
```

2. **Install Python dependencies:**
```bash
sudo pkg install -y py311-pip
sudo pip install -r requirements.txt
```

3. **Start the development server:**
```bash
sphinx-autobuild . build/html
```

The instructions for install and setup can be found on the [GhostBSD Documentation GitHub](https://github.com/ghostbsd/documentation#local-development-server) repository.
4. **View your work:** Open http://127.0.0.1:8000/index.html in your browser. It will automatically refresh when you save changes.

## Tasks

You can get your first contribution committed today! Here are some tasks for the beginner:
You can get your first contribution committed today! Here are some tasks for beginners:
* Read the documentation if there is a grammar issue, fix it
* Improve the sentences and paragraphs
* Update ScreenShots and Documentation
* Create issues on our [GitHub Documentation Issues](https://github.com/ghostbsd/documentation/issues/new).

There are also tasks and issues that can be found at our [Documentation Management](https://github.com/orgs/ghostbsd/projects/5) on GitHub.

If you see any article from the [Wiki](https://wiki.ghostbsd.org/) that could be ported communicate the effort with the others in the GhostBSD dev chat.
If you see any article from the [Wiki](https://wiki.ghostbsd.org/) that could be ported, communicate the effort with the others in the GhostBSD dev chat.
14 changes: 14 additions & 0 deletions contributor/getting-started/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,27 @@ Welcome to the GhostBSD contributor community! Whether you're a developer, desig

### 🔧 Development & Technical
- **[Code Contribution](../code/index)** – Develop applications, system tools, and build scripts
- Start with **[Development Setup](../code/development-setup)** to configure your environment
- **[Maintenance & Release](../maintenance-release/index)** – Help maintain ports, packages, and releases

### 📝 Content & Community
- **[Documentation](../documentation/index)** – Write and improve user and developer documentation
- **[Translations](../translations/index)** – Help translate GhostBSD into more languages
- **[Community Support](../community/index)** – Help users and grow our community

## Requirements for All Contributors

### Communication in English
Our contributors come from around the world, and English is our common language. You don't need to be fluent, but you should be comfortable understanding and communicating ideas effectively.

### Familiarity with Git and GitHub
We use Git for version control and GitHub for collaboration. You'll need:
- A **[GitHub account](https://github.com/)** to contribute
- Basic **Git knowledge** (commits, branches, pull requests) - see [GitHub Docs](https://docs.github.com/en/get-started/start-your-journey) if you're new to Git

### Running GhostBSD (Recommended)
For the best contribution experience, run the latest stable GhostBSD. Download from [ghostbsd.org/download](https://www.ghostbsd.org/download) - works on physical machines or virtual environments.

## Essential Information

- **[Contributors Guide](ghostbsd-contributors-guide)** – Essential information for all contributors
Expand Down