Addresses feedback from our Discord admin curating #config-showcase: the
existing docs land non-technical users straight into Tutorials, which
are script-first and TOML-heavy ("standalone script you can run
immediately, a TOML recipe, a detailed walkthrough"). For a curious-
but-non-technical reader trying to decide whether OpenJarvis is worth
their weekend, that's the wrong first contact — they bounce before they
ever see what the framework can do for them.
This PR inserts a new Showcase tier *above* Tutorials in the docs
information architecture. Each entry is outcome-first: hook sentence,
hero screenshot, 2-3 short paragraphs of personal context, then a
"How I set this up →" link that lands on the relevant Tutorial /
User Guide. The Showcase is the funnel; Tutorials are the build steps.
Five inaugural entries — drafted to be paste-ready for #config-showcase:
- showcase/morning-brief.md — Slack/email/GitHub overnight digest
- showcase/persistent-memory.md — SOUL.md/MEMORY.md/USER.md story
- showcase/cost-savings.md — the public leaderboard as motivation
- showcase/discord-companion.md — DM Jarvis from anywhere
- showcase/coding-assistant.md — code review on an airplane
Plus the contributor template and an assets directory:
- showcase/CONTRIBUTING.md — format skeleton + editorial conventions
(screenshot specs, what to redact, tone)
- assets/showcase/README.md — asset directory conventions
- assets/showcase/*.png — placeholder hero screenshots (1600x1000,
6 KB each, dark gradient) so the gallery
renders cleanly before community
submissions populate real screenshots
Information-architecture changes:
- mkdocs.yml — insert "Showcase" tier between Getting Started and
Tutorials. Funnel order is now: land → "what's possible?" → "build it."
- docs/index.md — new hero card directly under the tagline, pointing to
the Showcase. The research-framework framing stays, but no longer
occupies the first scroll-fold.
CSS:
- docs/stylesheets/extra.css — `.showcase-screenshot` class adds rounded
corners + subtle border so hero images (placeholder or real) read as
intentional rather than as broken-image artifacts.
Validation:
- `uv run mkdocs build` (CI mode) succeeds.
- `uv run mkdocs build --strict` produces zero showcase-specific
warnings. The 18 remaining strict-mode warnings are all pre-existing
on main (`desktop-auto-update.md`, `telemetry.md`, griffe parser
warnings on existing source, mkdocs_autorefs cross-reference issues).
Explicit non-goals (deferred to follow-up PRs in the showcase-tier
roadmap):
- `jarvis showcase` CLI for personal recaps (PR #2)
- Showcase-aligned recipes in `src/openjarvis/recipes/data/` so
"How I set this up →" links into 2-command installs (PR #2)
- Automated screenshot regeneration via Playwright on release tags (PR #3)
- Replacing placeholder PNGs with real screenshots — that happens
organically as community contributors and team members submit their
own setups (see CONTRIBUTING.md for the format)
Co-authored-by: krypticmouse <herumbshandilya123@gmail.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Every desktop download link in the docs was broken on two counts:
1. They pointed at the rolling `desktop-latest` prerelease, which had
been removed (404 for all of README, docs/index.md,
docs/downloads.md, docs/getting-started/installation.md).
2. They used the wrong version in the filenames (`OpenJarvis_0.1.0_*`)
— the actual published assets were never `0.1.0`.
Repointed all four files at the new stable `Desktop desktop-v1.0.2`
release with the exact asset filenames it ships
(`OpenJarvis_1.0.1_*` — the Tauri bundle version is 1.0.1, distinct
from the 1.0.2 Python/CLI release). This release also includes a
macOS universal `.dmg`, which the prior desktop releases lacked
(addresses #356 "No Mac Download") — so the macOS rows now say
"Universal" (Apple Silicon + Intel) instead of "Apple Silicon".
All five download URLs verified live (HTTP 200) against the
desktop-v1.0.2 release before committing.
Note: `docs/desktop-auto-update.md` still references the
`desktop-latest` rolling channel — that's the auto-updater's endpoint,
a separate concern from the manual download links, and is left as-is.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Move download/clone/star badges from docs/index.md to README.md
- Use TRAFFIC_TOKEN secret instead of GITHUB_TOKEN for Traffic API
(requires admin-level access that GITHUB_TOKEN doesn't provide)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
openjarvis was already taken on PyPI, so the package is registered as
OpenJarvisAI. Update pyproject.toml and docs badges to match.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Four new docs matching the morning-digest.md pattern:
- deep-research.md — multi-hop research with document indexing
- code-assistant.md — orchestrator with code execution + file I/O
- scheduled-monitor.md — persistent operative on cron schedule
- chat-simple.md — lightweight chat, simplest setup
Updated quickstart with tabs for all agent types and expanded
starter configs table from 3 to 7 presets. Updated MkDocs nav
and index page to link all 5 user guides.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Link morning-digest.md in the User Guide nav section. Also add
all existing user-guide pages that were missing from the nav.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Rewrite Five Primitives with plain-English descriptions
- Add 10+ engine backends with hyperlinks (Ollama, vLLM, SGLang, etc.)
- Add Automated Workflows and Energy & Cost Tracking feature cards
- Add Research section linking to Intelligence Per Watt and Stanford
- Add Citation section with BibTeX
- Fix hero-tagline max-width to span full title width
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* chore: create learning subdirectory structure (routing, agents, intelligence)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: extract classify_query to routing/_utils.py
Move the classify_query() function and its regex patterns into a shared
utility module so multiple routing policies can import it without
depending on the full trace_policy module.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* refactor: move routing files to learning/routing/ subdirectory
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: create LearnedRouterPolicy merging trace-driven + SFT routing
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: add conditional Algolia DocSearch integration
Add Algolia DocSearch as an optional search upgrade — native lunr.js
search remains the default until credentials are configured. Includes
CDN assets, Jinja2 conditional config injection, init script with
graceful fallback, light/dark theme CSS, improved search tokenization
for snake_case/dotted identifiers, and search boosts for key pages.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* refactor: move agent_evolver and skill_discovery to learning/agents/
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* refactor: move learning/orchestrator to learning/intelligence/orchestrator
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* refactor: delete removed learning policies, rewrite __init__.py, clean up api_routes
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: add SFT/GRPO/DSPy/GEPA config dataclasses, update LearningConfig
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: add general-purpose SFT trainer (intelligence/sft_trainer.py)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: update stale imports in multi_model_router example
Update imports to use new learning/routing/ paths after the
subdirectory reorganization. Replace BanditRouterPolicy with
LearnedRouterPolicy.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: add general-purpose GRPO trainer (intelligence/grpo_trainer.py)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: add DSPy agent optimizer (agents/dspy_optimizer.py)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: add GEPA agent optimizer (agents/gepa_optimizer.py)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: add learning-dspy and learning-gepa optional dependency extras
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: update integration test to check for learned policy instead of grpo
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: clean up stale APIs and unused params in examples
- deep_research: remove system_prompt and max_turns params not accepted
by Jarvis.ask(), inline system prompt into the query instead
- doc_qa: remove unused --top-k CLI arg that was never passed to the API
- multi_model_router: fix select_model() call to match single-arg signature
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: import SFT/GRPO trainers in intelligence/__init__.py for registry
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* chore: remove .md file changes from PR
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* chore: restore search boost frontmatter for key docs pages
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>