Skip to content

Commit 3a2ee09

Browse files
authored
Merge pull request #54 from Start9Labs/start-cli
refactor environment-setup
2 parents 0b3aabe + c91be54 commit 3a2ee09

File tree

3 files changed

+42
-23
lines changed

3 files changed

+42
-23
lines changed

.github/workflows/mdbook.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,12 @@ jobs:
3636
curl -sSL https://github.com/tommilligan/mdbook-admonish/releases/download/${ADMONISH_VERSION}/mdbook-admonish-${ADMONISH_VERSION}-x86_64-unknown-linux-gnu.tar.gz | tar -xz
3737
sudo mv mdbook-admonish /usr/local/bin/mdbook-admonish
3838
39+
- name: Install mdBook External Links
40+
run: |
41+
EXTERNAL_LINKS_VERSION=$(curl -s https://api.github.com/repos/jonahgoldwastaken/mdbook-external-links/releases/latest | jq -r '.tag_name')
42+
curl -sSL https://github.com/jonahgoldwastaken/mdbook-external-links/releases/download/${EXTERNAL_LINKS_VERSION}/mdbook-external-links-${EXTERNAL_LINKS_VERSION}-x86_64-unknown-linux-gnu.tar.gz | tar -xz
43+
sudo mv mdbook-external-links /usr/local/bin/mdbook-external-links
44+
3945
- name: Configure mdBook Admonish
4046
run: mdbook-admonish install .
4147

book.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ build-dir = "docs"
1414
command = "mdbook-admonish"
1515
assets_version = "3.0.2" # do not edit: managed by `mdbook-admonish install`
1616

17+
[preprocessor.external-links]
18+
1719
[output]
1820

1921
[output.html]

src/packaging-guide/environment-setup.md

Lines changed: 34 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,46 +6,57 @@ You will need a computer running StartOS to test your package. Follow the [flash
66

77
## Docker
88

9-
<a href="https://docs.docker.com/get-docker/" target="_blank">Docker</a> is needed to convert docker images to StartOS images.
9+
[Docker](https://docs.docker.com/get-docker/) is essential for building and managing container images that will be used for final `.s9pk` build. It handles:
1010

11-
## Make
12-
13-
<a href="https://www.gnu.org/software/make/" target="_blank">Make</a> is needed to streamline builds and produce s9pk binaries.
11+
- Pulling base images for your service containers
12+
- Building custom container images from Dockerfiles
1413

15-
## NodeJS v22 (latest LTS)
14+
## Make
1615

17-
<a href="https://nodejs.org/en/" target="_blank">NodeJS</a> is needed to compile the Typescript in your StartOS package.
16+
[Make](https://www.gnu.org/software/make/) is a build automation tool that streamlines the package creation process and it is used to:
1817

19-
## SquashFS
18+
- Execute build scripts defined in Makefiles
19+
- Coordinate the packaging workflow
20+
- Build and install s9pk binaries to StartOS
21+
- Automate repetitive development tasks
2022

21-
SquashFS is needed to pack the compiled Javascript into a SquashFS file
23+
## Node.js v22 (Latest LTS)
2224

23-
##### Linux (Debian-based)
25+
[Node.js](https://nodejs.org/en/) is required for compiling TypeScript code used in StartOS package configurations.
2426

25-
sudo apt install squashfs-tools squashfs-tools-ng
27+
## SquashFS
2628

27-
##### Mac
29+
**SquashFS** is used to create compressed filesystem images that package your compiled service code.
2830

29-
brew install squashfs
31+
### Installation:
3032

31-
## Start CLI
33+
#### Linux (Debian-based)
3234

33-
<a href="https://github.com/Start9Labs/start-os/" target="_blank">start-cli</a> is needed to interact with StartOS from the command line.
35+
```sh
36+
sudo apt install squashfs-tools squashfs-tools-ng
37+
```
3438

35-
1. Clone the StartOS repo
39+
#### macOS
3640

37-
https://github.com/Start9Labs/start-os.git
41+
Make sure you have [Homebrew](https://brew.sh/) installed, then:
3842

39-
1. Initialize the git submodules
43+
```sh
44+
brew install squashfs
45+
```
4046

41-
git submodule update --init --recursive
47+
## Start CLI
4248

43-
1. Build Start CLI
49+
[start-cli](https://github.com/Start9Labs/start-cli/) is the core development toolkit for building StartOS packages and provides:
4450

45-
make cli
51+
- Package validation and verification
52+
- s9pk file creation and assembly
53+
- Development workflow management
54+
- Integration with StartOS systems
4655

47-
1. Initialize Start CLI
56+
### Installation:
4857

49-
start-cli init
58+
The easiest way to install start-cli is using our automated installer script:
5059

51-
This will generate a `.startos` directory inside your home directory. This directory will contain a newly-generated `developer.key.pem`, used to sign packages, as well as a default `config.yaml`, which can be edited to customize and streamline your developer experience.
60+
```
61+
curl -fsSL https://start9labs.github.io/start-cli | sh
62+
```

0 commit comments

Comments
 (0)