This guide covers setting up xyOps for local development, understanding the architecture, and making contributions.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/pixlcore/xyops/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Before starting, install:- Node.js v16 or later (download)
- Git
- A code editor
Local development setup
Install dependencies
Architecture overview
xyOps is built on the pixl-server framework and consists of several key components:Server components
From~/workspace/source/lib/:
main.js- Entry point, loads pixl-serverengine.js- Core scheduler and event loopjob.js- Job launch and lifecycle managementworkflow.js- Workflow execution engineschedule.js- Trigger evaluation and schedulingaction.js- Action execution (emails, webhooks, etc.)alert.js- Alert evaluation and invocationsmonitor.js- Time-series metrics collectionserver.js- Server and worker managementticket.js- Ticketing systemmulti.js- Multi-conductor coordinationapi.js- REST API handler
API endpoints
From~/workspace/source/lib/api/:
events.js- Event CRUD operationsjobs.js- Job monitoring and controlservers.js- Server inventorymonitors.js- Monitor managementalerts.js- Alert definitionstickets.js- Ticket systemuser.js- User managementadmin.js- Admin operations
Client framework
From~/workspace/source/htdocs/js/:
The web UI is built with:
- jQuery for DOM manipulation
- xyApp (pixl-xyapp) for single-page app routing
- CodeMirror for code editing
- Chart.js for graphing
- xterm.js for terminal output
Debug mode features
Debug mode (bin/debug.sh) provides:
REPL console
Press Enter at the console to access the REPL:server object and all loaded components.
Live logging
All components log to STDOUT with color-coded levels:- Error - Red
- Warning - Yellow
- Debug - Gray
- Traffic - Cyan
debug_level in conf/config.json (1-10) to control verbosity.
Running tests
xyOps includes a test suite:- Event scheduling logic
- Workflow execution
- Monitor evaluation
- Alert conditions
- Plugin wire protocol
~/workspace/source/test/.
Generating self-signed certificates
For local HTTPS development:conf/config.json:
https://localhost:5523 (accept the self-signed certificate warning).
Code style
Follow these conventions:- Indentation: Tabs (width 4)
- Line length: No hard limit, but prefer < 120 characters
- Semicolons: Required
- Quotes: Single quotes for strings
- Comments: Explain why, not what
Making changes
Make your changes
Edit files in Refresh your browser to see changes.
lib/, htdocs/, or docs/.For UI changes, rebuild with:Contribution guidelines
Before submitting code changes, read our Contributing Guide. TL;DR:- We do not accept feature PRs
- Bug fixes are welcome (open an issue first)
- Documentation improvements are always appreciated
- Security issues should be reported privately (see Security)
Useful commands
Project structure
See also
- Contributing - Contribution guidelines
- Configuration - Config file reference
- CLI - Command-line tools
- Security - Reporting vulnerabilities