Developer Setup Guide¶
This guide provides comprehensive instructions for setting up a local development environment to contribute to the Edge Computing LLM platform.
Prerequisites¶
Before you begin, ensure your local development machine meets the following requirements:
- Operating System: Ubuntu 22.04 LTS or 24.04 LTS recommended
- Go Toolchain: Go 1.22+ installed
- Git: Installed and configured
- Make: GNU Make
- Docker/Podman: For building container images and running local services
- Pre-commit: Python package for managing pre-commit hooks
- Node.js: For running the Zensical documentation site locally
1. Install Go Toolchain¶
The project CLI tools (edge-cli, k3s-nvidia-edge) are built using Go.
# Remove any existing Go installation
sudo rm -rf /usr/local/go
# Download Go 1.22 (adjust version as needed)
wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz
# Extract to /usr/local
sudo tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz
# Add to your ~/.bashrc or ~/.zshrc
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
Verify the installation:
2. Clone Repositories¶
The platform spans multiple repositories. We recommend creating a dedicated directory for all related projects.
mkdir -p ~/projects/edge-llm
cd ~/projects/edge-llm
# Core Platform Tools
git clone https://github.com/your-org/edge-cli.git
git clone https://github.com/your-org/k3s-nvidia-edge.git
# Observability and Tests
git clone https://github.com/your-org/llm-observability-stack.git
git clone https://github.com/your-org/gguf-observability.git
git clone https://github.com/your-org/edge-llm-tests.git
# Models and App
git clone https://github.com/your-org/edge-computing-openai.git
# Documentation
git clone https://github.com/your-org/Edge-Computing-LLM-Documentation.git
3. Configure Pre-commit Checks¶
We use pre-commit to ensure code quality and formatting before commits are created.
# Install pre-commit (if not already installed)
pip install pre-commit
# In each repository, run:
cd ~/projects/edge-llm/edge-cli
pre-commit install
Typical checks include:
- gofmt and golangci-lint for Go code
- yamllint for YAML files
- markdownlint for documentation
- Trailing whitespace and end-of-file fixers
4. IDE Configuration¶
Visual Studio Code¶
We highly recommend VS Code with the following extensions:
- Go (golang.go)
- YAML (redhat.vscode-yaml)
- Prettier (esbenp.prettier-vscode)
- Markdown All in One (yzhang.markdown-all-in-one)
Recommended .vscode/settings.json for Go projects:
{
"go.lintTool": "golangci-lint",
"go.lintFlags": [
"--fast"
],
"go.formatTool": "gofumpt",
"go.useLanguageServer": true,
"[go]": {
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit"
}
}
}
5. Working with Makefile Targets¶
Each Go repository contains a Makefile with standard targets.
# Install dependencies
make deps
# Format code
make fmt
# Run linters
make lint
# Run tests
make test
# Build binaries
make build
[!TIP] Always run
make fmt lint testbefore submitting a Pull Request.
6. Documentation Site Local Development¶
The documentation site is built using Zensical (based on Hugo/Docusaurus).
cd ~/projects/edge-llm/Edge-Computing-LLM-Documentation
# Install dependencies
npm install
# Run the local development server
npm run dev
The site will be available at http://localhost:3000. Changes to markdown files in the docs/ directory will automatically reload the site.
7. Next Steps¶
- Review the CLI Architecture Guide to understand how
edge-cliis built. - Check the Test Suite Guide to learn how to write and run tests.