feat: add first-class Factory Droids support#329
Conversation
Updates documentation across three files to mention Factory Droids alongside existing Claude Code and Codex CLI references. Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
|
@lukeaus is attempting to deploy a commit to the rohitg00's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughAdds Factory Droids support by registering the agentmemory plugin in the Factory marketplace, adding a plugin manifest and lifecycle hooks, updating README/CONTRIBUTING/SECURITY, and adding tests that validate manifests, hooks, and marketplace registration. ChangesFactory Droids Plugin and Documentation Integration
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related issues
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. 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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@plugin/hooks/hooks.factory.json`:
- Line 10: The hook command strings use unquoted ${FACTORY_PLUGIN_ROOT} which
can break on paths with spaces; update each "command" value (e.g., the entry
currently "command": "node ${FACTORY_PLUGIN_ROOT}/scripts/session-start.mjs") to
wrap the variable in quotes so the shell treats the whole path as one argument
(apply the same quoted-${FACTORY_PLUGIN_ROOT} pattern to all other hook commands
referenced in the review). Ensure you only change the command string quoting and
keep the rest of the command intact.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: c9f64929-4db4-415e-bb88-92a91016074e
📒 Files selected for processing (6)
.factory-plugin/marketplace.jsonCONTRIBUTING.mdREADME.mdSECURITY.mdplugin/.factory-plugin/plugin.jsonplugin/hooks/hooks.factory.json
There was a problem hiding this comment.
Pull request overview
Adds first-class Factory Droids plugin support to agentmemory, aligning Factory’s lifecycle hook + MCP + skills wiring with the existing Claude Code and Codex CLI plugin patterns, and updates documentation/security scope accordingly.
Changes:
- Added Factory marketplace + plugin manifests and a 12-hook Factory hook registry that reuses existing
plugin/scripts/*.mjs. - Updated README install docs and per-host configuration table to include Factory Droids.
- Expanded SECURITY/CONTRIBUTING scope text to cover all plugin platforms under
plugin/.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
SECURITY.md |
Expands “in scope” language to include all plugin platforms under plugin/. |
README.md |
Documents Factory Droids installation + capability matrix entry. |
plugin/hooks/hooks.factory.json |
Registers the 12 Factory lifecycle hooks pointing at existing shared scripts via FACTORY_PLUGIN_ROOT. |
plugin/.factory-plugin/plugin.json |
Adds Factory plugin manifest wiring hooks, skills, and MCP server config. |
CONTRIBUTING.md |
Updates repository layout docs to include all plugin platforms. |
.factory-plugin/marketplace.json |
Adds Factory marketplace discovery manifest pointing at the plugin/ subdir. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| { | ||
| "name": "agentmemory", | ||
| "version": "0.9.11", | ||
| "description": "Persistent memory for AI coding agents -- captures tool usage, compresses via LLM, injects context into future sessions. 12 hooks, 51 MCP tools, 4 skills, real-time viewer.", | ||
| "author": { |
There was a problem hiding this comment.
Addressed in e032ad8: added test/factory-plugin.test.ts to verify plugin/.factory-plugin/plugin.json exists, matches the root package.json version, and resolves its skills, mcpServers, and hooks paths.
| "action": { | ||
| "type": "command", | ||
| "command": "node ${FACTORY_PLUGIN_ROOT}/scripts/session-start.mjs" | ||
| } | ||
| }, | ||
| { | ||
| "name": "user-prompt-submit", |
There was a problem hiding this comment.
Addressed in e032ad8: the Factory plugin tests now validate every hooks.factory.json command uses the expected ${FACTORY_PLUGIN_ROOT}/scripts/*.mjs pattern and that each referenced script exists on disk.
| { | ||
| "name": "agentmemory", | ||
| "owner": { | ||
| "name": "Rohit Ghumare", | ||
| "github": "rohitg00" | ||
| }, | ||
| "plugins": [ | ||
| { | ||
| "name": "agentmemory", | ||
| "description": "Persistent memory for AI coding agents -- captures tool usage, compresses via LLM, injects context into future sessions. Factory Droids integration.", | ||
| "source": "./plugin" | ||
| } |
There was a problem hiding this comment.
Addressed in e032ad8: added marketplace coverage for .factory-plugin/marketplace.json, including presence, plugin name, and source path ./plugin.
Add Factory Droids plugin manifest, hook command, and marketplace checks while quoting hook script paths for install directories with spaces. Signed-off-by: Luke Aust <5635204+lukeaus@users.noreply.github.com> Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@test/factory-plugin.test.ts`:
- Around line 14-28: The version regex in the test "ships
.factory-plugin/plugin.json with name + version + references" is too loose
(currently allows trailing characters); update the assertion on manifest.version
to use an anchored semver pattern that requires numeric major.minor.patch and
optionally allows valid pre-release (prefixed with '-') and build metadata
(prefixed with '+') so it rejects strings like "1.2.3abc" or "1.2.3.4". Locate
the manifest.version assertion in the test (the expect checking
manifest.version) and replace the existing unanchored regex with a start-to-end
semver regex that enforces the described rules.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 2586053f-29d9-493f-96ec-5084da038ceb
📒 Files selected for processing (2)
plugin/hooks/hooks.factory.jsontest/factory-plugin.test.ts
🚧 Files skipped from review as they are similar to previous changes (1)
- plugin/hooks/hooks.factory.json
Use an anchored semver pattern for the Factory plugin manifest version test. Signed-off-by: Luke Aust <5635204+lukeaus@users.noreply.github.com> Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Summary
Adds first-class Factory Droids support to agentmemory, matching the existing Claude Code and Codex CLI plugin patterns.
Closes #331.
What's included
Plugin files
.factory-plugin/marketplace.json— Factory marketplace discovery manifestplugin/.factory-plugin/plugin.json— Factory plugin manifest wiring hooks, skills, and MCPplugin/hooks/hooks.factory.json— 12 lifecycle hooks in Factory's format using quotedFACTORY_PLUGIN_ROOTscript pathstest/factory-plugin.test.ts— Coverage for manifest path resolution, hook scripts, event parity, and marketplace manifest shapeHook event parity with Claude Code
bash,run_command,edit_file,write_file)All 12 hooks match Claude Code's full set. Codex CLI only ships 6 because Codex's hook engine does not support the omitted events.
Documentation
Testing
npx vitest run test/factory-plugin.test.ts— 6 passednpm run build && npm test— 82 files passed, 883 tests passedChecklist
plugin/scripts/— no new script files neededplugin/.mcp.jsonplugin/skills/Summary by CodeRabbit
New Features
Documentation
Tests