Jido Workbench is a Phoenix LiveView app for Jido ecosystem documentation, examples, and internal learning content.
- Live site: https://jido.run
- Deployment target: Fly.io
This repository is an internal docs/workbench app, not the public SDK source repository for jido or jido_ai.
Prerequisites:
- Elixir and Erlang (see
mix.exs) - PostgreSQL running locally
git clone [email protected]:agentjido/agentjido_xyz.git
cd agentjido_xyz
cp .env.example .env
mix setup
mix phx.serverOpen http://localhost:4000.
Self-service signup is intentionally disabled.
Bootstrap a local admin account:
[email protected] ADMIN_PASSWORD='at-least-12-chars' mix run priv/repo/seeds.exsNotes:
ADMIN_PASSWORDis optional. If omitted, log in via magic link.- With the local mail adapter, open http://localhost:4000/dev/mailbox to get login links.
mix setupalready runs seeds, so rerun the seed command any time you want to update/bootstrap your dev account.
mix test
mix format
mix credo
mix qualitymix quality now runs the strict Credo baseline, warnings-as-errors compile, and Dialyzer. The managed pre_push hook also runs mix credo --strict, mix test, and mix dialyzer.
The workbench now ships a read-only MCP docs server for the published documentation corpus.
stdioentrypoint:mix mcp.docs- public HTTP endpoint:
POST /mcp/docs - local question helper:
mix run scripts/ask_mcp_docs.exs -- "How do plugins work?" - v1 tools:
search_docs,get_doc,list_sections - v1 scope: docs only
Notes:
- The MCP server reads from the same docs Arcana collection populated by the local content ingestion flow.
- Search uses the existing hybrid retrieval pipeline and falls back to lexical docs search when the Arcana backend fails.
get_docreturns markdown plus canonical metadata for docs routes.- Compile the project before launching
mix mcp.docsfrom an MCP client so stdout stays reserved for JSON-RPC.
You can also ask the HTTP endpoint questions from the repo with:
mix run scripts/ask_mcp_docs.exs -- "How do plugins work?"
mix run scripts/ask_mcp_docs.exs -- --sections
mix run scripts/ask_mcp_docs.exs -- --get /docs/learn/ai-chat-agentIf you need to refresh the underlying search index locally, run:
mix content.ingest.localpriv/content_plan/**contains content briefs and planning docs.priv/pages/**contains docs pages served by the site.priv/blog/**,priv/examples/**, andpriv/ecosystem/**contain other published content.
For content updates, prefer updating the relevant brief in priv/content_plan/** and then syncing the corresponding page in priv/pages/**. Direct page edits are still fine for quick fixes.
Run the site link audit:
mix site.link_audit --include-heexUseful variants:
# Include external URL checks (slower)
mix site.link_audit --include-heex --check-external
# Temporarily allow known hidden route prefixes
mix site.link_audit --include-heex --allow-prefix /trainingThe audit writes tmp/link_audit_report.md by default and exits non-zero on blocking issues.
See CONTRIBUTING.md.