08758617b5
SamiOS CI / lint-and-test (push) Successful in 6s
- Dictation mode: separate from command mode, types directly into focused app - Punctuation/formatting voice commands (new paragraph, comma, scratch that) - Floating correction bar with low-confidence highlighting - Technical implementation sketch (xdotool/ydotool integration) - Developer guide with project structure, build commands, font policy
3.2 KiB
3.2 KiB
SamiOS Developer Guide
Getting Started
Prerequisites
- Arch Linux (or WSL Arch) with
base-devel,git,archiso - Gitea account on
git.sami
Clone
git clone https://git.sami/sami7777/samios.git
cd samios
Project Structure
samios/
├── branding/ # Visual identity assets
│ ├── icons/ # Square + launcher icons (PNG + SVG)
│ ├── logos/ # Full lockups (face + pyramid)
│ ├── wallpapers/ # Desktop wallpapers
│ ├── themes/ # SDDM theme
│ ├── grub-theme/ # GRUB boot theme
│ └── README.md # Brand guidelines
├── docs/ # Documentation
│ ├── installation.md # User install guide
│ ├── roadmap.md # Development roadmap
│ ├── voice-integration-architecture.md
│ └── voice-hermes-pipeline.md
├── packaging/
│ ├── archiso/ # ISO build profile
│ │ ├── airootfs/ # Root filesystem overlay
│ │ ├── packages.x86_64 # Package list
│ │ ├── profiledef.sh # ISO profile
│ │ └── build.sh # Build script
│ ├── packages/ # Custom PKGBUILDs
│ │ └── samios-branding/
│ └── scripts/ # Setup and installer scripts
│ ├── samios-installer.sh
│ ├── samios-desktop-setup.sh
│ └── kdeglobals-samios
├── tests/ # Test suite
│ ├── run_tests.sh
│ ├── test_profiledef.sh
│ ├── test_packages.sh
│ └── ...
├── Makefile # Build/test/lint targets
└── .gitea/workflows/ # CI pipeline
Development Commands
make test # Run test suite
make lint # Shellcheck on all scripts
make check # Full CI (lint + test)
make build # Build ISO (requires archiso)
make clean # Clean build artifacts
Building the ISO
# Install archiso
sudo pacman -S archiso
# Build
cd packaging/archiso
sudo ./build.sh
# Output
ls out/samios-*.iso
Font Policy
- Default UI font: Sami Grotesk (Helvetica-like sans-serif)
- Secondary font: Sami Sans
- Excluded: Any fonts with "7777" in the filename (personal branding)
- Font config:
packaging/archiso/airootfs/etc/fonts/conf.d/10-samios-fonts.conf
Adding Packages
Edit packaging/archiso/packages.x86_64 and add the package name. Test with:
make check
Modifying Branding
- Place new assets in
branding/(follow existing structure) - Update
branding/README.mdwith new entries - If changing icons, generate all sizes from the SVG source
- Test the ISO build
Voice Integration
See docs/voice-hermes-pipeline.md for the SamiType voice command architecture.
CI/CD
Gitea Actions workflow at .gitea/workflows/ci.yml runs on every push:
- Shellcheck on all
.shfiles - Profile structure validation
- Test suite execution
Release Process
- Update version in
profiledef.sh,samiosCLI, andREADME.md - Update
docs/roadmap.mdwith completed items - Commit:
git commit -m "vX.Y.Z: Description" - Tag:
git tag vX.Y.Z - Push:
git push origin master --tags