Describe the bug
apm fails at core functionality.
To Reproduce
Steps to reproduce the behavior:
-
Make an apm.yml with 1 dependency:
name: x
version: 0.1.0
description: APM project for x
author: Peter Mounce
dependencies:
apm:
- JuliusBrussee/caveman#84cc3c14
mcp: []
scripts: {}
target: opencode,claude,copilot,agents
-
Run apm install
-
Command completes. apm_modules/ is created with the dependency within.
-
No content is "deployed" to the filesystem of the repository. .claude/skills, .github/skills, .opencode/skills, .agents/skills are all empty.
-
Run apm compile
-
No content is "deployed" to the filesystem of the repository. .claude/skills, .github/skills, .opencode/skills, .agents/skills are all empty.
Expected behavior
I expect the caveman skills to be deployed into the places where the agents will load them, based on reading the documentation's quick-start.
Instead, I get successful exit codes and log messages - but no actions appear to have been actually taken.
Environment (please complete the following information):
- OS: macOs
- Python Version: 3.14.3
- APM Version: 0.8.12
- VSCode Version (if relevant): n/a
Logs
apm install --verbose
[>] Installing dependencies from apm.yml...
Parsed apm.yml: 1 APM deps, 0 MCP deps
Using apm.lock.yaml (1 locked dependencies)
JuliusBrussee/caveman: locked at 84cc3c14
Resolved 1 direct dependencies (no transitive)
[+] JuliusBrussee/caveman #84cc3c14 @84cc3c14 (cached)
No MCP dependencies found in apm.yml
[*] Installed 1 APM dependency.
apm compile --clean
[*] Starting context compilation...
[i] Compiling for AGENTS.md + CLAUDE.md + .github/ + .claude/ + .cursor/ + .opencode/ + .codex/ + .agents/ - detected .github/ and .claude/ and .opencode/ folders
[+] Compilation completed successfully!
ls -al .opencode .claude .github
.claude:
total 16
drwxr-xr-x@ 4 pmounce staff 128 21 Apr 17:32 .
drwxr-xr-x@ 45 pmounce staff 1440 21 Apr 18:12 ..
-rw-r--r--@ 1 pmounce staff 32 16 Apr 11:46 .gitignore
-rw-r--r-- 1 pmounce staff 18 21 Apr 17:36 settings.json
.github:
total 24
drwxr-xr-x@ 9 pmounce staff 288 21 Apr 17:32 .
drwxr-xr-x@ 45 pmounce staff 1440 21 Apr 18:12 ..
drwxr-xr-x@ 7 pmounce staff 224 16 Apr 11:46 actions
-rw-r--r--@ 1 pmounce staff 1365 16 Apr 11:46 CODEOWNERS
-rw-r--r--@ 1 pmounce staff 2006 16 Apr 11:46 dependabot.yml
drwxr-xr-x 3 pmounce staff 96 21 Apr 17:32 hooks
-rw-r--r--@ 1 pmounce staff 0 16 Apr 11:46 pull_request_template.md
drwxr-xr-x@ 5 pmounce staff 160 16 Apr 11:46 workflows
-rw-r--r--@ 1 pmounce staff 54 16 Apr 11:46 zizmor.yml
.opencode:
total 0
drwxr-xr-x 2 pmounce staff 64 21 Apr 18:03 .
drwxr-xr-x@ 45 pmounce staff 1440 21 Apr 18:12 ..
tree apm_modules/JuliusBrussee/caveman
apm_modules/JuliusBrussee/caveman
├── AGENTS.md
├── benchmarks
│ ├── prompts.json
│ ├── requirements.txt
│ ├── results
│ └── run.py
├── caveman
│ └── SKILL.md
├── caveman-compress
│ ├── README.md
│ ├── scripts
│ │ ├── __init__.py
│ │ ├── __main__.py
│ │ ├── benchmark.py
│ │ ├── cli.py
│ │ ├── compress.py
│ │ ├── detect.py
│ │ └── validate.py
│ ├── SECURITY.md
│ └── SKILL.md
├── caveman.skill
├── CLAUDE.md
├── CLAUDE.original.md
├── commands
│ ├── caveman-commit.toml
│ ├── caveman-review.toml
│ └── caveman.toml
├── CONTRIBUTING.md
├── docs
│ └── index.html
├── evals
│ ├── llm_run.py
│ ├── measure.py
│ ├── plot.py
│ ├── prompts
│ │ └── en.txt
│ ├── README.md
│ └── snapshots
│ └── results.json
├── gemini-extension.json
├── GEMINI.md
├── hooks
│ ├── caveman-activate.js
│ ├── caveman-config.js
│ ├── caveman-mode-tracker.js
│ ├── caveman-statusline.ps1
│ ├── caveman-statusline.sh
│ ├── install.ps1
│ ├── install.sh
│ ├── package.json
│ ├── README.md
│ ├── uninstall.ps1
│ └── uninstall.sh
├── LICENSE
├── plugins
│ └── caveman
│ ├── assets
│ │ ├── caveman-small.svg
│ │ └── caveman.svg
│ └── skills
│ ├── caveman
│ │ ├── agents
│ │ │ └── openai.yaml
│ │ ├── assets
│ │ │ ├── caveman-small.svg
│ │ │ └── caveman.svg
│ │ └── SKILL.md
│ └── compress
│ ├── scripts
│ │ ├── __init__.py
│ │ ├── __main__.py
│ │ ├── benchmark.py
│ │ ├── cli.py
│ │ ├── compress.py
│ │ ├── detect.py
│ │ └── validate.py
│ └── SKILL.md
├── README.md
├── rules
│ └── caveman-activate.md
├── skills
│ ├── caveman
│ │ └── SKILL.md
│ ├── caveman-commit
│ │ └── SKILL.md
│ ├── caveman-help
│ │ └── SKILL.md
│ ├── caveman-review
│ │ └── SKILL.md
│ └── compress
│ ├── scripts
│ │ ├── __init__.py
│ │ ├── __main__.py
│ │ ├── benchmark.py
│ │ ├── cli.py
│ │ ├── compress.py
│ │ ├── detect.py
│ │ └── validate.py
│ └── SKILL.md
└── tests
├── caveman-compress
│ ├── claude-md-preferences.md
│ ├── claude-md-preferences.original.md
│ ├── claude-md-project.md
│ ├── claude-md-project.original.md
│ ├── mixed-with-code.md
│ ├── mixed-with-code.original.md
│ ├── project-notes.md
│ ├── project-notes.original.md
│ ├── todo-list.md
│ └── todo-list.original.md
├── test_hooks.py
└── verify_repo.py
31 directories, 83 files
Additional context
I have experimented with adding path: skills/caveman to the dep; that changes the log output such that a skill is recognised - but still no content is placed into my git working tree.
Describe the bug
apm fails at core functionality.
To Reproduce
Steps to reproduce the behavior:
Make an apm.yml with 1 dependency:
Run
apm installCommand completes.
apm_modules/is created with the dependency within.No content is "deployed" to the filesystem of the repository.
.claude/skills,.github/skills,.opencode/skills,.agents/skillsare all empty.Run
apm compileNo content is "deployed" to the filesystem of the repository.
.claude/skills,.github/skills,.opencode/skills,.agents/skillsare all empty.Expected behavior
I expect the caveman skills to be deployed into the places where the agents will load them, based on reading the documentation's quick-start.
Instead, I get successful exit codes and log messages - but no actions appear to have been actually taken.
Environment (please complete the following information):
Logs
Additional context
I have experimented with adding
path: skills/cavemanto the dep; that changes the log output such that a skill is recognised - but still no content is placed into my git working tree.