Skip to content

PyPI Package v3.6.0 Missing Resources Directory (Skills and Rules Not Installed) #26

@wtthornton

Description

@wtthornton

Bug Report: PyPI Package Missing Resources Directory

Summary

The tapps-agents package installed from PyPI (v3.6.0) is missing the resources directory, which contains all template files for Cursor Skills and Cursor Rules. This causes tapps-agents init to fail to install any skills or rules.

Environment

  • Package Version: 3.6.0 (from PyPI)
  • Python Version: 3.13.3
  • Platform: Windows 11 (AMD64)
  • Installation Method: pip install tapps-agents
  • Installation Location: C:\Users\tappt\AppData\Roaming\Python\Python313\site-packages\tapps_agents

Steps to Reproduce

  1. Install tapps-agents from PyPI:

    pip install tapps-agents==3.6.0
  2. Navigate to a project directory and run init:

    tapps-agents init
  3. Observe that init reports "Skipped or already exists" but validation shows all skills and rules are missing

  4. Check the package installation:

    python -c "import tapps_agents; import os; print(os.path.dirname(tapps_agents.__file__))"
    ls <package_dir>/  # No 'resources' directory found

Expected Behavior

After running tapps-agents init, the following should be installed:

  1. Cursor Skills (19 skills):

    • .claude/skills/analyst/SKILL.md
    • .claude/skills/reviewer/SKILL.md
    • .claude/skills/implementer/SKILL.md
    • ... (all 19 skills)
  2. Cursor Rules (14 .mdc files):

    • .cursor/rules/agent-capabilities.mdc
    • .cursor/rules/workflow-presets.mdc
    • .cursor/rules/command-reference.mdc
    • ... (all 14 rules)
  3. Workflow Presets (5 YAML files):

    • workflows/presets/full-sdlc.yaml
    • workflows/presets/rapid-dev.yaml
    • ... (all 5 presets)

Actual Behavior

  1. tapps-agents init creates empty directories but doesn't populate them with template files
  2. Validation shows: 0/19 skills found, 0/14 rules found
  3. The package installation is missing the resources directory entirely
  4. Error message at end of init: No workflow YAML files found

Evidence

Package Contents Check

$ ls "C:\Users\tappt\AppData\Roaming\Python\Python313\site-packages\tapps_agents"
__init__.py
__pycache__
agents/          # Python implementation files, not templates
analysis/
beads/
cli/
context7/
core/
# ... other Python modules ...
# MISSING: resources/ directory

Skills Directory Check

$ ls .claude/skills/reviewer/
# Empty directory (should contain SKILL.md and other files)

Cursor Rules Directory Check

$ ls .cursor/rules/
# Empty directory (should contain 14 .mdc files)

Init Output Shows Missing Resources

[X] Missing skill: analyst
[X] Missing skill: architect
... (all 19 skills missing)

[!] Missing rule: workflow-presets.mdc
[!] Missing rule: agent-capabilities.mdc
... (all 14 rules missing)

No workflow YAML files found
Could not generate workflow-presets.mdc (no YAML found).

Root Cause Analysis

The tapps_agents/core/init_project.py expects to load resources using importlib.resources:

def _resource_at(*parts: str) -> "Traversable | None":
    """
    Return a Traversable pointing at packaged resources under `tapps_agents.resources`.
    """
    if importlib_resources is None:
        return None
    try:
        root = importlib_resources.files("tapps_agents.resources")
        # ...

However, the tapps_agents.resources package doesn't exist in the PyPI distribution.

Impact

  • High: Users installing from PyPI cannot use Cursor Skills integration
  • High: @agent-name commands don't work in Cursor chat
  • Medium: CLI commands still work (tapps-agents reviewer review, etc.)
  • Workaround: Install from GitHub instead of PyPI

Suggested Fix

The PyPI package build process needs to include the resources directory. This typically requires:

  1. Option A: Update MANIFEST.in to include resources:

    recursive-include tapps_agents/resources *
    include tapps_agents/resources/.cursor/rules/*.mdc
    include tapps_agents/resources/.claude/skills/*/SKILL.md
    
  2. Option B: Update pyproject.toml to include package data:

    [tool.setuptools.package-data]
    tapps_agents = [
        "resources/**/*",
        "resources/.cursor/**/*",
        "resources/.claude/**/*"
    ]
  3. Verify build before publishing:

    python -m build
    # Check dist/tapps_agents-*.whl contains resources/
    unzip -l dist/tapps_agents-*.whl | grep resources

Workaround

Users can install from GitHub instead:

pip uninstall tapps-agents
pip install git+https://github.com/wtthornton/TappsCodingAgents.git

Additional Context

  • The framework code correctly uses importlib.resources for cross-platform resource access
  • The issue is purely with the PyPI packaging/distribution
  • GitHub installation works correctly (resources are present in the repo)
  • This affects all PyPI installations of v3.6.0

Related Code References

  • tapps_agents/core/init_project.py:157-173 - Resource loading code
  • tapps_agents/core/init_project.py:51-96 - Expected framework files whitelist

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions