Skip to content

fix: standardize config paths and add sqlite3 prerequisite#317

Merged
marcusquinn merged 1 commit intomainfrom
fix/github-issues-272-273-276
Feb 5, 2026
Merged

fix: standardize config paths and add sqlite3 prerequisite#317
marcusquinn merged 1 commit intomainfrom
fix/github-issues-272-273-276

Conversation

@marcusquinn
Copy link
Owner

@marcusquinn marcusquinn commented Feb 5, 2026

Summary

Addresses GitHub issues #272, #273, #276:

Changes

Issue #276: Config Path Standardization

Script Before After
mainwp-helper.sh ${SCRIPT_DIR}/../configs/mainwp-config.json ~/.config/aidevops/mainwp-config.json
wordpress-mcp-helper.sh ${SCRIPT_DIR}/../configs/wordpress-sites-config.json ~/.config/aidevops/wordpress-sites-config.json
onboarding-helper.sh ~/Git/aidevops/configs/mainwp-config.json ~/.config/aidevops/mainwp-config.json

All scripts now:

  • Use XDG-compliant ~/.config/aidevops/ for user runtime configs
  • Reference templates at ~/.aidevops/agents/configs/*.json.txt
  • Provide clear setup instructions in help text

Issue #273: sqlite3 Prerequisite

  • Added sqlite3 to required dependencies in setup.md
  • Added installation instructions to memory/README.md
  • Added sqlite3 status check to onboarding-helper.sh

Issue #272: NODE_PATH Guidance

Added documentation to build-agent.md explaining how to set NODE_PATH for helper scripts using globally installed npm packages with node -e.

Testing

  • All modified scripts pass ShellCheck
  • All modified markdown files pass markdownlint
  • Changes are backwards compatible (templates remain in same location)

Closes #272, #273, #276

Summary by CodeRabbit

  • Chores

    • Added SQLite3 as a required system dependency.
    • Configuration files relocated to user home directory (XDG-compliant paths) instead of script-relative locations.
  • Documentation

    • Updated setup instructions to reflect new configuration file locations.
    • Added setup guidance for creating configuration directories and copying templates.
    • Added Node.js inline evaluation documentation for working with global npm packages.

Addresses GitHub issues #272, #273, #276:

- #276: Standardize config file paths to ~/.config/aidevops/ (XDG-compliant)
  - mainwp-helper.sh: Use ~/.config/aidevops/mainwp-config.json
  - wordpress-mcp-helper.sh: Use ~/.config/aidevops/wordpress-sites-config.json
  - onboarding-helper.sh: Check MainWP config at correct location

- #273: Add sqlite3 to prerequisites (required by memory system)
  - setup.md: Add sqlite3 to required dependencies
  - memory/README.md: Add installation instructions for sqlite3
  - onboarding-helper.sh: Check sqlite3 installation status

- #272: Add NODE_PATH guidance for Node.js-based helper scripts
  - build-agent.md: Document NODE_PATH export for global npm modules
@gemini-code-assist
Copy link

Summary of Changes

Hello @marcusquinn, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly enhances the project's setup and configuration management by standardizing where user configuration files are stored, clarifying essential dependencies, and providing crucial guidance for Node.js environments. These changes aim to streamline the onboarding process, improve system compatibility, and ensure a more robust and predictable operational environment for all helper scripts and components.

Highlights

  • Config Path Standardization: Configuration files for helper scripts (e.g., mainwp-helper.sh, wordpress-mcp-helper.sh) have been standardized to use XDG-compliant paths under ~/.config/aidevops/, improving consistency and user experience.
  • sqlite3 Prerequisite: The sqlite3 CLI tool is now explicitly listed as a required dependency for the memory system, with installation instructions added to relevant documentation and a status check integrated into the onboarding-helper.sh script.
  • NODE_PATH Guidance: Documentation has been added to build-agent.md to guide users on how to correctly set the NODE_PATH environment variable for Node.js-based helper scripts that utilize globally installed npm packages with node -e.
Changelog
  • .agent/aidevops/setup.md
    • Added sqlite3 to the list of required dependencies.
  • .agent/memory/README.md
    • Added sqlite3 as a requirement with installation instructions for Ubuntu/Debian and macOS.
  • .agent/scripts/mainwp-helper.sh
    • Updated CONFIG_FILE path to ~/.config/aidevops/mainwp-config.json for XDG compliance.
    • Introduced TEMPLATE_FILE variable pointing to ~/.aidevops/agents/configs/mainwp-config.json.txt.
    • Updated config loading logic to provide mkdir -p and cp instructions for setting up the config file from the template.
    • Updated help text to reflect the new config file path and added setup instructions.
  • .agent/scripts/onboarding-helper.sh
    • Added a check for sqlite3 installation status, reporting if it's ready or needs setup for the memory system.
    • Updated the MainWP config check to look for the config file in the new XDG-compliant path (~/.config/aidevops/mainwp-config.json).
    • Added sqlite3 installation status to the JSON output.
  • .agent/scripts/wordpress-mcp-helper.sh
    • Updated CONFIG_FILE path to ~/.config/aidevops/wordpress-sites-config.json for XDG compliance.
    • Introduced TEMPLATE_FILE variable pointing to ~/.aidevops/agents/configs/wordpress-sites-config.json.txt.
    • Updated help text to reflect the new config file path, template path, and added setup instructions.
  • .agent/tools/build-agent/build-agent.md
    • Added a new section providing guidance on setting NODE_PATH for Node.js-based helper scripts that use node -e with globally installed npm packages.
Activity
  • No human activity (comments, reviews, or progress updates) has been recorded on this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 5, 2026

Walkthrough

This pull request standardizes configuration file paths to XDG-compliant locations, adds sqlite3 as a required prerequisite for the memory system, updates helper scripts with new configuration paths and setup instructions, and documents NODE_PATH requirements for Node.js-based helper scripts.

Changes

Cohort / File(s) Summary
XDG Configuration Path Migration
.agent/scripts/mainwp-helper.sh, .agent/scripts/wordpress-mcp-helper.sh, .agent/scripts/onboarding-helper.sh
Migrates config files from script-relative paths to XDG-compliant locations (~/.config/aidevops/). Adds template file references at ~/.aidevops/agents/configs/ and updates help text with setup instructions for creating directories and copying templates. Onboarding helper also adds sqlite3 status checks and extends JSON output with context information.
SQLite3 Prerequisites & Integration
.agent/aidevops/setup.md, .agent/scripts/onboarding-helper.sh
Adds sqlite3 to required prerequisites in setup documentation. Onboarding helper introduces sqlite3 memory system readiness checks and includes installation status in JSON context output.
Documentation - Node.js Helper Scripts
.agent/tools/build-agent/build-agent.md
Adds NODE_PATH guidance for Node.js-based helper scripts using node -e with globally installed npm packages, explaining that Node.js doesn't automatically search the global npm prefix for inline evaluation.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🗂️ Configurations find their proper place,
In XDG's standardized space,
SQLite stands ready to store the day,
While Node.js paths light the way,
DevOps standards maintained with grace! ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 75.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main changes: standardizing config paths to XDG-compliant locations and adding sqlite3 as a prerequisite.
Linked Issues check ✅ Passed Changes fully address all three linked issues: #276 (config path standardization), #273 (sqlite3 prerequisite), and #272 (NODE_PATH guidance documentation).
Out of Scope Changes check ✅ Passed All changes are directly scoped to the three linked issues with no extraneous modifications detected.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/github-issues-272-273-276

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@sonarqubecloud
Copy link

sonarqubecloud bot commented Feb 5, 2026

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request effectively standardizes configuration paths to be XDG-compliant, adds sqlite3 as a documented prerequisite, and provides guidance for NODE_PATH in Node.js scripts. The changes are well-organized and clearly address the linked issues. I have one suggestion regarding the method used for JSON generation in a shell script, which could be made more robust.

Comment on lines +674 to +675
json+='},"sqlite3":{"installed":'
is_installed "sqlite3" && json+='true' || json+='false'

Choose a reason for hiding this comment

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

high

While this works, building JSON by concatenating strings is very fragile and hard to maintain. A missing comma, brace, or quote will create invalid JSON that can be difficult to debug. This also makes the code harder to read and extend.

A much more robust and maintainable approach would be to use a dedicated JSON processing tool like jq. The entire output_json function could be rewritten to use jq to safely construct the JSON object, eliminating the risk of syntax errors and making future modifications much simpler.

Since jq is already listed as a dependency for the project, it would be beneficial to leverage it here.

@github-actions
Copy link

github-actions bot commented Feb 5, 2026

🔍 Code Quality Report

�[0;35m[MONITOR]�[0m Code Review Monitoring Report

�[0;34m[INFO]�[0m Latest Quality Status:
SonarCloud: 0 bugs, 0 vulnerabilities, 2 code smells

�[0;34m[INFO]�[0m Recent monitoring activity:
Thu Feb 5 00:05:52 UTC 2026: Code review monitoring started
Thu Feb 5 00:05:52 UTC 2026: SonarCloud - Bugs: 0, Vulnerabilities: 0, Code Smells: 2
Thu Feb 5 00:05:52 UTC 2026: Qlty - 0 issues found, auto-formatting applied
Thu Feb 5 00:05:54 UTC 2026: Codacy analysis completed with auto-fixes

📈 Current Quality Metrics

  • BUGS: 0
  • CODE SMELLS: 2
  • VULNERABILITIES: 0

Generated on: Thu Feb 5 00:07:30 UTC 2026


Generated by AI DevOps Framework Code Review Monitoring

@marcusquinn
Copy link
Owner Author

Thank you for the review feedback!

Regarding the JSON construction in output_json() - this is a valid observation about the pre-existing code pattern. My change only added the sqlite3 check following the existing pattern for consistency.

Refactoring the entire output_json() function to use jq would be a good improvement, but it's outside the scope of this PR which focuses on:

I'd be happy to create a follow-up issue to track the JSON construction refactoring as a separate improvement.

@marcusquinn marcusquinn merged commit 275b95a into main Feb 5, 2026
14 of 15 checks passed
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In @.agent/tools/build-agent/build-agent.md:
- Around line 397-405: The inline NODE_PATH snippet in the "Node.js-based helper
scripts" section should be moved into a dedicated subagent file and referenced
by file:line; create a new Markdown helper (suggested name
.agent/tools/build-agent/node-helpers.md) that contains the NODE_PATH export
snippet (export NODE_PATH="$(npm root -g):$NODE_PATH") and an explanatory note,
then replace the inline block in the original doc with a file:line reference
pointing to that new file and the relevant line(s); ensure the section header
"Node.js-based helper scripts" remains and that the new file mentions NODE_PATH
and the node -e usage so readers can locate it.

Comment on lines +312 to +317
# sqlite3 is required for memory system
if is_installed "sqlite3"; then
print_service "sqlite3" "ready" "memory system ready"
else
print_service "sqlite3" "needs-setup" "required for memory system"
fi
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

# First, let's check the file exists and examine the relevant sections
if [ -f ".agent/scripts/onboarding-helper.sh" ]; then
    echo "=== Lines 312-317 (sqlite3 check) ==="
    sed -n '312,317p' ".agent/scripts/onboarding-helper.sh"
    echo ""
    echo "=== Lines 674-676 (JSON output) ==="
    sed -n '674,676p' ".agent/scripts/onboarding-helper.sh"
    echo ""
    echo "=== Context around sqlite3 checks ==="
    rg -n "sqlite3" ".agent/scripts/onboarding-helper.sh" -B 2 -A 2
else
    echo "File not found"
fi

Repository: marcusquinn/aidevops

Length of output: 1103


🌐 Web query:

sqlite3 FTS5 support detection command line programmatic

💡 Result:

Command-line (sqlite3 shell)

1) Check compile options (most direct):

sqlite3 -cmd "PRAGMA compile_options;" :memory: | grep -i ENABLE_FTS5

If you see ENABLE_FTS5, the library was built with FTS5. (sqlite.org)

2) Check via SQL boolean (works anywhere SQL runs):

sqlite3 :memory: "SELECT sqlite_compileoption_used('ENABLE_FTS5');"

Returns 1 if enabled, else 0. (sqlite.org)

3) Definitive runtime probe (works even if FTS5 is loadable/not compiled-in):

sqlite3 :memory: "CREATE VIRTUAL TABLE __fts5_probe USING fts5(x);"

If it errors with no such module: fts5, FTS5 isn’t available to that connection (either not built in, or not loaded). (stackoverflow.com)

Programmatic detection

C / C++

int has_fts5 = sqlite3_compileoption_used("ENABLE_FTS5");  // 1 or 0

(Option name may omit the SQLITE_ prefix.) (sqlite.org)

Any language with SQLite access (Python/Go/Rust/Node/etc.)

Run one of these:

Compile-option check:

SELECT sqlite_compileoption_used('ENABLE_FTS5');

(docs.sqlitecloud.io)

Runtime probe (most robust):

CREATE VIRTUAL TABLE __fts5_probe USING fts5(x);

Catch the error to decide. (stackoverflow.com)

Notes (why there are two styles of checks)

FTS5 can be compiled in (via SQLITE_ENABLE_FTS5) or built/loaded as an extension, so “try to create an fts5 table” is the most certain availability test for the current connection. (www2.sqlite.org)

Citations:


🏁 Script executed:

# Search for memory system implementation and sqlite3 usage
echo "=== Searching for memory system code ==="
rg -i "memory.*system|fts5|virtual.*table" ".agent/scripts/" -A 2 -B 2 --max-count=20

echo ""
echo "=== Searching for how sqlite3 is used in scripts ==="
rg "sqlite3" ".agent/scripts/" --type sh -l

echo ""
echo "=== Check if there's a memory module or system documentation ==="
find . -type f \( -name "*memory*" -o -name "*fts*" \) 2>/dev/null | head -20

Repository: marcusquinn/aidevops

Length of output: 7833


🌐 Web query:

sqlite3 FTS5 memory system use case why required

💡 Result:

In SQLite terms, the “memory system” is the global memory-allocation subsystem behind sqlite3_malloc()/sqlite3_free() (and friends). FTS5 relies on it because FTS5 is implemented as part of SQLite’s core/extension code and allocates lots of transient working memory (tokenization buffers, doclists/iterators, segment-merge work buffers, etc.) via SQLite’s allocator—so it must have a working SQLite memory allocator configured and initialized, and all allocations must be freed by the same allocator to avoid corruption/leaks. [1][2]

Why you might need to configure it (the “why required” part in real deployments):

  • Custom/embedded memory control: On embedded or constrained systems you may want SQLite (and therefore FTS5) to allocate from a fixed pool (SQLITE_CONFIG_HEAP) or use an allocator like memsys5 designed to reduce fragmentation and provide stronger guarantees. [1]
  • Instrumentation / limits: SQLite’s allocator supports memory limits and statistics (useful when FTS indexes/queries spike memory). [1]
  • Non-default builds: Some builds omit the default allocator (e.g., SQLITE_ZERO_MALLOC / SQLITE_OMIT_MEMORY_ALLOCATION), in which case the application must provide/configure one before using SQLite/FTS5. [1][3]

Operationally, allocator configuration is global and generally must be done before sqlite3_initialize() (or after sqlite3_shutdown()), otherwise sqlite3_config() will fail with SQLITE_MISUSE. [4]

FTS5 itself can also be configured to trade memory for speed in some features (e.g., options that cause it to collect extra data up-front can “use more memory”). [5]

Sources: Dynamic memory allocation & custom allocators (SQLITE_CONFIG_HEAP, SQLITE_CONFIG_MALLOC, memsys5) [1]; memory-allocation API contract (sqlite3_malloc/free) [2]; allocator changes/omitting allocator [3]; sqlite3_config() timing rules [4]; FTS5 doc note on options increasing memory use [5].


Detect FTS5 support—it's a hard requirement for the memory system.
The memory and MCP indexing systems (memory-helper.sh, mcp-index-helper.sh) explicitly depend on SQLite FTS5 for full-text search. The current check only validates that sqlite3 is installed, which doesn't guarantee FTS5 is available. A system with sqlite3 but without FTS5 will silently fail when the memory system tries to initialize. Use the FTS5 probe to detect actual capability.

♻️ Suggested FTS5-aware check
-    if is_installed "sqlite3"; then
-        print_service "sqlite3" "ready" "memory system ready"
-    else
-        print_service "sqlite3" "needs-setup" "required for memory system"
-    fi
+    if is_installed "sqlite3"; then
+        if sqlite3 :memory: 'CREATE VIRTUAL TABLE t USING fts5(content);' &>/dev/null; then
+            print_service "sqlite3" "ready" "memory system ready"
+        else
+            print_service "sqlite3" "partial" "installed, missing FTS5"
+        fi
+    else
+        print_service "sqlite3" "needs-setup" "required for memory system"
+    fi

Also update JSON at lines 674-676 to reflect FTS5 capability (optional):

     json+='},"sqlite3":{"installed":'
     is_installed "sqlite3" && json+='true' || json+='false'
+    json+=',"fts5":'
+    sqlite3 :memory: 'CREATE VIRTUAL TABLE t USING fts5(content);' &>/dev/null && json+='true' || json+='false'
     json+='}}'
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# sqlite3 is required for memory system
if is_installed "sqlite3"; then
print_service "sqlite3" "ready" "memory system ready"
else
print_service "sqlite3" "needs-setup" "required for memory system"
fi
# sqlite3 is required for memory system
if is_installed "sqlite3"; then
if sqlite3 :memory: 'CREATE VIRTUAL TABLE t USING fts5(content);' &>/dev/null; then
print_service "sqlite3" "ready" "memory system ready"
else
print_service "sqlite3" "partial" "installed, missing FTS5"
fi
else
print_service "sqlite3" "needs-setup" "required for memory system"
fi

Comment on lines +397 to +405
**Node.js-based helper scripts:**
If your helper script uses `node -e` with globally installed npm packages, add this near the top:

```bash
# Set NODE_PATH so Node.js can find globally installed modules
export NODE_PATH="$(npm root -g):$NODE_PATH"
```

This is required because Node.js doesn't automatically search the global npm prefix when using inline evaluation (`node -e`).
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

# Search for existing Node.js helper templates/subagents in .agent directory
find .agent -name "*.md" | head -20

Repository: marcusquinn/aidevops

Length of output: 687


🏁 Script executed:

# Look for NODE_PATH or node helper references in .agent
rg -i "node_path|node.*helper" .agent --type md

Repository: marcusquinn/aidevops

Length of output: 325


🏁 Script executed:

# Check the structure and content around the flagged lines
sed -n '390,410p' .agent/tools/build-agent/build-agent.md

Repository: marcusquinn/aidevops

Length of output: 797


🌐 Web query:

Node.js NODE_PATH environment variable behavior with node -e inline evaluation official documentation

💡 Result:

  • node -e "script" evaluates the argument as JavaScript (with the same “predefined” built-ins available as in the REPL). [1]
  • NODE_PATH is a process environment variable: a :-separated (Windows ;-separated) list of directories that are prefixed to Node’s CommonJS module search path. [2]
  • In the CommonJS loader, if NODE_PATH is set, Node.js will search those directories for modules when they are not found elsewhere (i.e., after the normal resolution locations). [3]
  • This affects CommonJS require() resolution (including code run via node -e when it’s interpreted as CommonJS), but does not affect ESM import specifier resolution. [4]

Sources
[1] Node.js v22.15.0 CLI -e, --eval docs (nodejs.org)
[2] Node.js v22.15.0 CLI NODE_PATH env var docs (nodejs.org)
[3] Node.js v22.15.0 CommonJS modules docs (“Loading from the global folders”) (nodejs.org)
[4] Node.js v22.11.0 ESM docs (“No NODE_PATH”) (nodejs.org)

Citations:


Move Node.js helper snippet to a dedicated subagent and reference via file:line.

The NODE_PATH behavior is technically accurate (verified against Node.js v22.15.0 documentation—it extends CommonJS module search paths for node -e evaluation), but inline code placement violates the .agent/**/*.md progressive disclosure pattern and coding guidelines requiring file:line references instead of inline snippets.

Create a helper template (e.g., .agent/tools/build-agent/node-helpers.md or similar subagent) containing the NODE_PATH export snippet and reference it via file:line pointer here. This maintains information accuracy while ensuring maintainability and adherence to agent documentation patterns.

🤖 Prompt for AI Agents
In @.agent/tools/build-agent/build-agent.md around lines 397 - 405, The inline
NODE_PATH snippet in the "Node.js-based helper scripts" section should be moved
into a dedicated subagent file and referenced by file:line; create a new
Markdown helper (suggested name .agent/tools/build-agent/node-helpers.md) that
contains the NODE_PATH export snippet (export NODE_PATH="$(npm root
-g):$NODE_PATH") and an explanatory note, then replace the inline block in the
original doc with a file:line reference pointing to that new file and the
relevant line(s); ensure the section header "Node.js-based helper scripts"
remains and that the new file mentions NODE_PATH and the node -e usage so
readers can locate it.

@marcusquinn marcusquinn deleted the fix/github-issues-272-273-276 branch February 21, 2026 01:59
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.

docs: Add NODE_PATH guidance for Node.js-based helper scripts in build-agent.md

1 participant