Skip to content

[docs] Update documentation for features from 2026-03-26#461

Open
danielmeppiel wants to merge 1 commit intomainfrom
docs/update-for-456-batch-fixes-91bccf8a1df49dbb
Open

[docs] Update documentation for features from 2026-03-26#461
danielmeppiel wants to merge 1 commit intomainfrom
docs/update-for-456-batch-fixes-91bccf8a1df49dbb

Conversation

@danielmeppiel
Copy link
Collaborator

Documentation Updates - 2026-03-26

This PR updates the documentation based on fixes merged in the last 24 hours (#456).

Features Documented

Changes Made

  • Updated docs/src/content/docs/getting-started/installation.md: Added troubleshooting entry for binary install failures on older Linux (glibc < 2.39 / Debian Bookworm / devcontainers). Documents the automatic pip fallback behavior.

  • Updated docs/src/content/docs/guides/skills.md: Corrected Step 2 description and Target Detection table to accurately reflect presence-driven deployment. Copilot (.github/skills/) is always active; Claude, Cursor, and OpenCode only deploy when their root directory exists. Also clarifies that .opencode/skills/ now receives skill deployments.

  • Updated docs/src/content/docs/reference/lockfile-spec.md: Updated the lifecycle table to document that apm install is idempotent -- the lockfile is only written when dependencies actually change, eliminating generated_at timestamp churn in version control.

Merged PRs Referenced

Notes

All three changes are user-facing behavior fixes that were missing from docs. No breaking changes to document.

Generated by Daily Documentation Updater ·

To install this agentic workflow, run

gh aw add githubnext/agentics/workflows/daily-doc-updater.md@b87234850bf9664d198f28a02df0f937d0447295
  • expires on Mar 28, 2026, 3:46 AM UTC

- installation.md: add troubleshooting entry for glibc/devcontainer
  binary fallback to pip (#451)
- skills.md: clarify presence-driven target deployment; Copilot always
  active, others deploy only when root dir exists; fix .opencode note (#453, #447)
- lockfile-spec.md: document idempotent install -- no rewrite when
  dependencies are unchanged (#450)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@danielmeppiel danielmeppiel added automation documentation Improvements or additions to documentation labels Mar 26, 2026
Copilot AI review requested due to automatic review settings March 26, 2026 03:46
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates user-facing documentation to reflect recently merged behavior fixes (installer pip fallback on incompatible Linux binaries, presence-driven multi-target skill deployment including OpenCode, and idempotent lockfile writes).

Changes:

  • Add installation troubleshooting note for older-Linux/devcontainer binary incompatibility and automatic pip fallback.
  • Update skills guide to describe presence-driven target activation and skill deployment to active targets (including .opencode/skills/).
  • Update lockfile spec lifecycle table to document idempotent apm install lockfile writes (no timestamp churn when unchanged).

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.

File Description
docs/src/content/docs/getting-started/installation.md Documents installer behavior when the binary cannot run on older glibc systems and the pip fallback path.
docs/src/content/docs/guides/skills.md Updates skill integration + target detection docs to match presence-driven deployment and OpenCode support.
docs/src/content/docs/reference/lockfile-spec.md Notes idempotent lockfile write behavior for subsequent installs.
Comments suppressed due to low confidence (1)

docs/src/content/docs/guides/skills.md:304

  • The docs suggest apm install ... --target vscode, but the install command does not appear to support a --target/-t option (target flags exist on apm compile/apm pack). This "Override" example is likely misleading; consider removing the apm install example or replacing it with apm compile --target ... and/or the apm.yml target: setting.
Override with:
```bash
apm install skill-name --target vscode
apm compile --target claude
</details>

- **Compatibility**: `.claude/skills/{skill-name}/` — Only if `.claude/` folder already exists
- **Compatibility**: `.cursor/skills/{skill-name}/` — Only if `.cursor/` folder already exists
- **Compatibility**: `.opencode/skills/{skill-name}/` — Only if `.opencode/` folder already exists
- **Copilot (always)**: `.github/skills/{skill-name}/` — Created automatically; works with Copilot, Codex, Gemini
Copy link

Copilot AI Mar 26, 2026

Choose a reason for hiding this comment

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

This line uses a Unicode em dash ("—"), which violates the repo's ASCII-only documentation/output policy (non-ASCII chars can break Windows cp1252 terminals). Replace it with an ASCII alternative like " - " or "--" and keep the line strictly within printable ASCII.

Suggested change
- **Copilot (always)**: `.github/skills/{skill-name}/` Created automatically; works with Copilot, Codex, Gemini
- **Copilot (always)**: `.github/skills/{skill-name}/` - Created automatically; works with Copilot, Codex, Gemini

Copilot uses AI. Check for mistakes.
Comment on lines +148 to +152
### Binary install fails on older Linux (devcontainers, Debian Bookworm)

On systems with glibc older than 2.39 (e.g., Debian Bookworm with glibc 2.36), the
pre-built binary may fail to run. The installer automatically detects this and falls
back to `pip install`:
Copy link

Copilot AI Mar 26, 2026

Choose a reason for hiding this comment

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

The glibc version threshold here doesn't match the current installer logic: install.sh performs an early glibc check with REQUIRED_GLIBC="2.35" and triggers pip fallback when glibc is older than that. With the current docs ("older than 2.39" / Bookworm 2.36), readers may expect a fallback on systems where the script would not trigger it. Update the docs to reflect the actual required glibc version (or keep it generic: "older than the required glibc version").

Suggested change
### Binary install fails on older Linux (devcontainers, Debian Bookworm)
On systems with glibc older than 2.39 (e.g., Debian Bookworm with glibc 2.36), the
pre-built binary may fail to run. The installer automatically detects this and falls
back to `pip install`:
### Binary install fails on older Linux (devcontainers, Debian-based images)
On systems with a glibc version older than the minimum required by the pre-built
binary, the binary may fail to run. The installer automatically detects incompatible
glibc versions and falls back to `pip install`:

Copilot uses AI. Check for mistakes.
Comment on lines +152 to +162
back to `pip install`:

```
[!] Binary failed (glibc mismatch). Falling back to pip install...
[+] apm installed via pip
```

No manual action is required. If you prefer to install via pip directly:

```bash
pip install apm-cli
Copy link

Copilot AI Mar 26, 2026

Choose a reason for hiding this comment

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

This section says "No manual action is required", but the installer falls back to pip install --user apm-cli and may require the user to add ~/.local/bin to PATH if apm is not found. Consider adjusting the wording to mention the possible PATH update (and avoid presenting exact output lines unless they match the script's messages).

Suggested change
back to `pip install`:
```
[!] Binary failed (glibc mismatch). Falling back to pip install...
[+] apm installed via pip
```
No manual action is required. If you prefer to install via pip directly:
```bash
pip install apm-cli
back to installing APM via `pip install --user apm-cli`.
This installs the `apm` command into your user `bin` directory (commonly `~/.local/bin`).
If `apm` is not found after installation, ensure that this directory is on your `PATH`.
If you prefer to install via pip directly:
```bash
pip install --user apm-cli

Copilot uses AI. Check for mistakes.
|-------|----------------------|
| `apm install` (first run) | Created. All dependencies resolved, commits pinned, files recorded. |
| `apm install` (subsequent) | Read. Locked commits reused. New dependencies appended. |
| `apm install` (subsequent) | Read. Locked commits reused. New dependencies appended. File only written if dependencies changed (idempotent -- no `generated_at` churn when content is unchanged). |
Copy link

Copilot AI Mar 26, 2026

Choose a reason for hiding this comment

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

This row says the lockfile is only written if "dependencies" changed, but the implementation skips writing when the lockfile is semantically equivalent, which also considers mcp_servers, mcp_configs, and lockfile_version (and ignores generated_at/apm_version). To avoid under-specifying the behavior, consider rewording to "only written if semantic content changed" (deps and MCP-related fields), rather than only dependencies.

Suggested change
| `apm install` (subsequent) | Read. Locked commits reused. New dependencies appended. File only written if dependencies changed (idempotent -- no `generated_at` churn when content is unchanged). |
| `apm install` (subsequent) | Read. Locked commits reused. New dependencies appended. File only written when semantic content changes (dependencies, MCP servers/configs, `lockfile_version`); no churn from `generated_at` or `apm_version` fields. |

Copilot uses AI. Check for mistakes.
@lirantal
Copy link

thanks @danielmeppiel for putting this PR together

the glibc issue solved on my end was moving from the Microsoft devcontainer's 24-bookworm to 24-trixie which has the glibc compatible version. Perhaps some notes on that on the README or on the failure could help agents/humans quickly understand the error and the go-to fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automation documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants