Skip to content

feat: read configuration from XDG base directory and new install instructions, etc - #45

Merged
simonmysun merged 3 commits into
mainfrom
feat/installation
Jul 22, 2026
Merged

simonmysun merged 3 commits into
mainfrom
feat/installation

Conversation

@simonmysun

Copy link
Copy Markdown
Owner

implements #17, fixes #43.

also removes jq dependency

Copilot AI review requested due to automatic review settings July 22, 2026 01:24
@simonmysun
simonmysun merged commit 1bb6c3e into main Jul 22, 2026

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

This PR updates ell to follow the XDG Base Directory conventions for configuration/templates/plugins, improves Windows compatibility for the launcher, and removes the external jq dependency by introducing a pure-bash JSON parser.

Changes:

  • Read config from ${XDG_CONFIG_HOME:-$HOME/.config}/ell/config (while keeping legacy ~/.ellrc support).
  • Add XDG-aware template/plugin resolution across config/data/legacy/bundled roots.
  • Replace jq usage in OpenAI/Gemini backends with a new pure-bash JSON parser and update docs/testing notes accordingly.

Reviewed changes

Copilot reviewed 12 out of 13 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
tests/entry.sh Removes jq from test container prerequisites.
README.md Updates install instructions for XDG data layout; adds Windows guidance; documents Docker-based testing.
llm_backends/openai/generate_completion.sh Switches response parsing from jq to json_* helpers.
llm_backends/gemini/generate_completion.sh Switches response parsing from jq to json_* helpers (including stream buffer parsing).
helpers/resolve_paths.sh Adds XDG-aware template resolution and multi-root plugin hook discovery/dedup.
helpers/load_config.sh Adds XDG main config file load before legacy/per-project/override configs.
helpers/json.sh Introduces a pure-bash JSON parser and query helpers (json_parse/json_get/json_has).
ell.sh Wires in new helpers; resolves templates via multi-root search; updates hook discovery.
docs/Plugins.md Documents the new multi-root plugin discovery and override behavior.
docs/Configuration.md Documents XDG config location and updated ELL_TEMPLATE_PATH semantics.
.gitattributes Forces LF endings for scripts/templates to avoid Windows shebang failures.

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

Comment thread helpers/load_config.sh
Comment thread ell.sh
Comment thread ell.sh
Comment thread llm_backends/openai/generate_completion.sh
Comment thread llm_backends/gemini/generate_completion.sh
Comment thread helpers/json.sh
Comment thread docs/Configuration.md
Comment thread README.md
Copilot AI mentioned this pull request Jul 23, 2026
simonmysun added a commit that referenced this pull request Jul 23, 2026
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.

[bug] ell only prints usage on Windows

2 participants