Skip to content

v0.1-alpha: docs site + B2B pilot SETUP_GUIDE (B8 Rule #7) - #7

Merged
keirsalterego merged 2 commits into
mainfrom
feat/production-docs-website
May 21, 2026
Merged

keirsalterego merged 2 commits into
mainfrom
feat/production-docs-website

Conversation

@keirsalterego

Copy link
Copy Markdown
Contributor

Summary

Documentation work for the v0.1-alpha pilot:

  • The existing feat/production-docs-website branch (docs site landing page, justfile recipes) layered with…
  • B8 — A new SETUP_GUIDE.md for B2B pilot bring-up that does NOT expose infrastructure tells (no Upstash, Render, Fly.io, free tier, or per-month cost figures). Rule v0.1-alpha: docs site + B2B pilot SETUP_GUIDE (B8 Rule #7) #7 compliance.

Commits ahead of main

Commit Summary
0ee29ec docs(justfile): resolve recipe indentation errors
39d2df5 docs(setup): add B2B pilot setup guide without infrastructure tells (B8)

SETUP_GUIDE.md contents

  • What this guide covers + time-to-demo budget (~10 min sim, ~30 min real EDR)
  • ASCII architecture diagram (ingestion → worker → discord_bot → vyrox-proxy)
  • Prerequisites: Discord credentials, Redis instance, LLM provider (vendor-neutral wording)
  • Quick start path (simulator-only — no EDR credentials needed)
  • Real EDR path (CrowdStrike Falcon configuration)

Test plan

  • grep -rEn 'free.tier|Upstash|render\\.com|fly\\.io|\\$0/month' SETUP_GUIDE.md → no matches
  • Manual: walk a teammate through the guide end-to-end with a fresh checkout
  • Manual: confirm static site builds with the new file picked up (no path/sidebar regression)

Adds SETUP_GUIDE.md describing the end-to-end pilot bring-up:
ingestion → worker → Discord bot → Rust proxy, with architecture
diagram and the prerequisites list a design-partner integrator needs.

Rule #7 compliance: the guide is written from the customer's
perspective. No mentions of free tiers, specific managed providers
(Upstash, Render, Fly.io), or per-month infrastructure cost figures.
LLM section is provider-neutral and points at the LLM_MODEL /
LLM_BASE_URL settings rather than naming a specific vendor's free
plan — operators pick what fits their compliance posture.

Sections covered:
  - What this guide covers + time-to-demo budget
  - Architecture overview ASCII diagram (matches the README)
  - Prerequisites (Discord, Redis, LLM provider, optional EDR)
  - Quick start (simulator-only path, no EDR credentials needed)
  - Real EDR path (CrowdStrike Falcon configuration)

Mitigates B8 from the v0.1-alpha pilot readiness review.
Copilot AI review requested due to automatic review settings May 21, 2026 11:22
@keirsalterego
keirsalterego merged commit 8d04c7c into main May 21, 2026
2 checks passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds v0.1-alpha pilot documentation, centering on a new B2B demo bring-up guide and some justfile recipe formatting adjustments to support local doc maintenance.

Changes:

  • Introduces SETUP_GUIDE.md describing an end-to-end demo setup flow (simulated + real EDR paths), environment variables, troubleshooting, and demo scripts.
  • Refactors several justfile recipes into single-line shell commands.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 6 comments.

File Description
SETUP_GUIDE.md New B2B pilot setup guide covering architecture, prerequisites, env config, and demo/troubleshooting steps.
justfile Rewrites several recipes into one-liners (link checks, lint, format, word/line counts).
Comments suppressed due to low confidence (2)

justfile:91

  • The lines recipe has the same issue as words: @for appears mid-line, which will be treated as a literal @ by the shell and likely fail. Split into multiple recipe lines or remove the mid-line @.
# Line count
lines:
    @echo "Line count by file:"; @for f in *.md; do if [ -f "$f" ]; then echo "  $f: $(wc -l < "$f") lines"; fi; done

SETUP_GUIDE.md:73

  • PR description calls out vendor-neutral wording for the LLM provider, but this section names specific vendors/endpoints (OpenAI, Anthropic, OpenRouter). If vendor neutrality is a requirement for the pilot docs, rephrase to generic “OpenAI-compatible API endpoint” (and describe required auth/base URL) without naming providers.
3. **LLM provider credentials**
   - Vyrox supports OpenAI-compatible APIs (OpenAI, Anthropic, or any OpenRouter-compatible endpoint)
   - Configure the model via `LLM_MODEL` and the endpoint via `LLM_BASE_URL`

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread justfile
Comment on lines 86 to 88
words:
@echo "Word count by file:"
@for f in *.md; do
if [ -f "$f" ]; then
count=$(wc -w < "$f")
echo " $f: $count words"
fi
done
@echo ""
@echo "Total: $(cat *.md | wc -w) words"
@echo "Word count by file:"; @for f in *.md; do if [ -f "$f" ]; then echo " $f: $(wc -w < "$f") words"; fi; done; echo ""; echo "Total: $(cat *.md | wc -w) words"

Comment thread SETUP_GUIDE.md
cd ~/vyrox-workspace/vyrox-simulator

# Edit simulate.py to use your HMAC secret
# Default in .env: VYROX_HMAC_SECRET=46dd36aa38f9f6e8aabb771079daba3f0b409c965ec8fe7863a6c7c2e5e2893c
Comment thread SETUP_GUIDE.md
Comment on lines +171 to +181
# Redis
# =====================================================================
UPSTASH_REDIS_REST_URL=redis://localhost:6379
UPSTASH_REDIS_REST_TOKEN=

# =====================================================================
# OpenRouter (LLM)
# =====================================================================
OPENROUTER_API_KEY=sk-or-v1-YOUR_KEY_HERE
OPENROUTER_MODEL=mistralai/mistral-7b-instruct:free

Comment thread SETUP_GUIDE.md
Comment on lines +72 to +73
- Vyrox supports OpenAI-compatible APIs (OpenAI, Anthropic, or any OpenRouter-compatible endpoint)
- Configure the model via `LLM_MODEL` and the endpoint via `LLM_BASE_URL`
Comment thread SETUP_GUIDE.md
Comment on lines +140 to +143
# Run a scenario
python scripts/simulate.py mimikatz --url http://localhost:8001/webhook
python scripts/simulate.py lateral --url http://localhost:8001/webhook
```
Comment thread SETUP_GUIDE.md
Comment on lines +482 to +492
For demo purposes with simulated data:

- **Ingestion:** ~10ms per alert (Redis enqueue)
- **Heuristics:** ~5ms per alert (pattern matching)
- **LLM triage:** ~500ms-2s (API latency, only 20% of alerts)
- **Total latency:** ~20ms for heuristics, ~1-2s for LLM path

With real EDR credentials, the system handles:
- **100-500 alerts/minute** comfortably
- **1,000+ alerts/minute** with worker scaling

keirsalterego added a commit that referenced this pull request May 21, 2026
The simulator went pure shell back in vyrox-simulator commit ef17b78.
Several public docs still told prospects to:

  - pip install -r requirements.txt (the file no longer exists)
  - python simulate_crowdstrike_alert.py --scenario X (script removed)
  - python scripts/simulate.py X (was the Python-era CLI)
  - write Lua files in scenarios/ (Lua engine was removed before shell)

Anyone reading the docs to evaluate Vyrox for a pilot would hit
command-not-found within the first 30 seconds.

Updated:

README.md  (Quick Start)
  - Removed pip install step.
  - Replaced python invocations with ./simulate.sh <scenario>.
  - Added the --dry-run flag (safe offline preview).
  - Explicit "pure bash — no Python or other runtime required" callout
    so the reader knows what to expect.

API_REFERENCE.md  (Testing section)
  - Same Python → ./simulate.sh substitution.
  - Added lateral --all-stages because the bash dispatcher exposes the
    multi-stage runner that the old python script did not.

SETUP_GUIDE.md  (pilot bring-up guide, 4 occurrences)
  - Replaced the four python scripts/simulate.py call sites with
    ./simulate.sh.
  - Rewrote the "Creating Custom Scenarios" section: dropped the Lua
    snippet, added a real bash scenario template matching the actual
    build_payload() interface used by scenarios/*.sh.
  - Replaced the "scenarios/<name>.lua" references in the Key Files
    table with the real .sh paths and the simulate.sh dispatcher.

No Rule #7 regression: the cost / provider language stays vendor-neutral.

Operators following these docs now hit commands that actually work.
keirsalterego added a commit that referenced this pull request Jun 10, 2026
Daily engineering notes, public-safe (shipped capabilities only, no strategy
or provider names per Rule #7). Newest entry on top.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants