diff --git a/contributor/code/development-setup.md b/contributor/code/development-setup.md index ad995af..a8cf993 100644 --- a/contributor/code/development-setup.md +++ b/contributor/code/development-setup.md @@ -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. @@ -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: diff --git a/contributor/code/index.md b/contributor/code/index.md index c843abe..d4c47e8 100644 --- a/contributor/code/index.md +++ b/contributor/code/index.md @@ -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 diff --git a/contributor/documentation/getting-started.md b/contributor/documentation/getting-started.md index ee45f3a..e6b98f5 100644 --- a/contributor/documentation/getting-started.md +++ b/contributor/documentation/getting-started.md @@ -4,24 +4,42 @@ 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 @@ -29,4 +47,4 @@ You can get your first contribution committed today! Here are some tasks for the 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. \ No newline at end of file +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. \ No newline at end of file diff --git a/contributor/getting-started/index.md b/contributor/getting-started/index.md index eeb0353..f0b2ac7 100644 --- a/contributor/getting-started/index.md +++ b/contributor/getting-started/index.md @@ -6,6 +6,7 @@ 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 @@ -13,6 +14,19 @@ Welcome to the GhostBSD contributor community! Whether you're a developer, desig - **[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