Skip to content

Conversation

@tomzx
Copy link
Contributor

@tomzx tomzx commented Dec 18, 2025

The backends/init.py file was empty, preventing the CLI from importing
BeadsBackend and GitHubBackend. Added proper all exports for all three
backend implementations (Beads, GitHub, Notion).

This fixes the ImportError that occurred when running any em command.

The backends/__init__.py file was empty, preventing the CLI from importing
BeadsBackend and GitHubBackend. Added proper __all__ exports for all three
backend implementations (Beads, GitHub, Notion).

This fixes the ImportError that occurred when running any em command.
Found while testing with actual beads installation:

1. **BeadsBackend ID conversion bug**: The _entity_id_to_bead_id function
   was incorrectly prepending "bd-" to all IDs. Beads uses configurable
   project prefixes (e.g., "entity-manager-abc"), not just "bd-xxx".
   Fixed to return IDs as-is.

2. **BeadsBackend read() response handling**: The bd show command returns
   a list, not a dict. Updated to handle both formats.

3. **BeadsBackend link type mapping**: Added proper mapping from entity
   manager link types (blocked-by, blocking, parent, etc.) to beads
   dependency types (blocks, related, parent-child).

4. **CLI delete() naming collision**: The delete function was calling
   the list() command function instead of built-in list(), causing
   AttributeError. Fixed by using builtins.list().

5. **Updated .gitignore**: Added beads artifacts and test coverage files.

All fixes verified with working beads installation.
Added AGENTS.md, @AGENTS.md, and .gitattributes to .gitignore as these
were created during beads testing and are not part of the project.
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.

3 participants