Getting Started with Programa.Space: A Developer's Guide
A practical, opinionated guide to setting up your environment, understanding the platform's philosophy, and shipping your first project on Programa.Space.
Getting Started with Programa.Space: A Developer's Guide
Welcome to Programa.Space. If you landed here, you're likely a developer, engineer, or curious builder wondering how to make the most of a new platform that blends modern software practices with an open, community-driven mindset. This guide walks you through the essentials: account setup, local environment, key conventions, and a first small project that demonstrates the platform's strengths.
1. Understand the Platform Philosophy
Programa.Space is a hybrid: part developer hub, part deployment platform, and part community knowledge base. It favors:
- Reproducibility — projects should be easy to run locally via containers or sandboxed runtimes.
- Composability — microservices, serverless functions, and plugins should integrate easily.
- Transparency — clear configuration, open defaults, and straightforward observability.
“A platform that treats documentation as code and treats deployments as tests will accelerate developer confidence.”
2. Create Your Account and Workspace
Sign up with a GitHub or GitLab account for the simplest developer experience. After account creation:
- Create a personal
workspace— this maps to a root namespace for projects. - Pick a default runtime. Programa.Space supports Node.js, Deno, Rust/WASM, and Python containers.
- Enable multi-factor authentication and connect an SSH key for secure CLI access.
3. Install the Local CLI
The CLI is the fastest way to iterate. Install via Homebrew or curl:
brew install programa-cli
# or
curl -sSf https://programa.space/install.sh | sh
Authenticate with programa login, and test connectivity with programa status. The CLI integrates with your local Docker (or podman) to create reproducible dev containers.
4. Set Up a Minimal Project
We’ll scaffold a tiny Node.js service. Use the CLI scaffolder:
programa new hello-service --runtime node
cd hello-service
Open the generated programa.yaml. It describes the runtime, environment variables, and a development command that the platform will replicate:
runtime: node:18
entry: src/index.js
env:
PORT: 8080
devCommand: npm run dev
5. Run Locally and Preview
Run programa dev. This command does three things:
- Starts a local container matching your runtime.
- Mounts source files for live reload.
- Exposes a preview URL tunneled through the platform for easy sharing.
Open the preview URL or hit http://localhost:8080 to verify the service responds.
6. Add Observability
Programa.Space emphasizes gradual observability. The default template includes:
- Structured logs (JSON by default)
- Lightweight tracing headers
- Health and readiness endpoints
Enable metric collection via programa monitor enable. You can connect third-party APMs or use the platform's built-in dashboard.
7. Prepare for Deployment
When you’re ready to deploy:
- Ensure tests pass locally (
npm test). - Configure secrets with
programa secret set. - Tag a release with semantic versioning and push to your repository.
CI systems can call programa deploy --from-ci to perform zero-downtime pushes that are automatically validated.
8. Collaborate and Share
Invite teammates to your workspace and create role-based access controls. Use pull-request previews to run ephemeral environments for each branch — these are invaluable for QA and design reviews. The platform also supports snapshots: reproducible stateless snapshots of any environment that can be stored and replayed.
9. Best Practices
Keep the following recommendations in mind:
- Use feature flags to decouple deployment from release.
- Embed health checks that are synthetic and deterministic.
- Store infra as code and review changes through your normal PR workflow.
- Favor observability over guesswork — logs, metrics, and traces should tell an operational story.
10. Where to Go Next
After this primer, explore more advanced topics: building serverless functions using the platform's edge runtime, compiling Rust to WASM for CPU-bound tasks, or creating event-driven pipelines with the native message bus. Programa.Space also has a community forum and a template gallery to jumpstart projects.
Summary: Programa.Space aims to remove friction between local iteration and safe production deployment. By following these steps — workspace setup, CLI usage, observability, and disciplined deployment — you’ll be well positioned to ship software with confidence. Happy building.