Skip to content

Feat/windsurf#574

Open
saheersk wants to merge 56 commits intosafishamsi:v5from
saheersk:feat/windsurf
Open

Feat/windsurf#574
saheersk wants to merge 56 commits intosafishamsi:v5from
saheersk:feat/windsurf

Conversation

@saheersk
Copy link
Copy Markdown

Add 'windsurf' platform to _PLATFORM_CONFIG in graphify/main.py
Implement _windsurf_install and _windsurf_uninstall for project-level rules
Register /graphify slash command via .windsurf/workflows/graphify.md
Append always-on context rules to .windsurfrules
Add skill-windsurf.md with complete agent logic for Windsurf/Codeium
Update README.md with Windsurf installation instructions

Closes #214

Minidoracat and others added 30 commits April 8, 2026 19:39
* fix: git hooks fail when graphify is installed via pipx

When installed via pipx, the graphify module is only available in
pipx's isolated venv, not the system python3. The git hooks
(post-commit, post-checkout) hardcoded `python3` which cannot import
graphify in this case.

Detect the correct Python interpreter from the graphify binary's
shebang line, matching the approach already used in skill.md Step 1.
Falls back to python3 for system installs.

* fix: handle env-style shebangs and improve interpreter detection

- Use POSIX `command -v` instead of non-standard `which`
- Parse `#!/usr/bin/env python3` shebangs correctly (previous
  `tr -d ' '` would produce `/usr/bin/envpython3`)
- Add import validation fallback to python3 if resolved interpreter
  cannot import graphify
… buffer

* fix: suppress graspologic ANSI output that breaks PowerShell scrolling

graspologic's leiden() emits ANSI escape sequences (progress bars,
colored warnings) that corrupt PowerShell 5.1's scroll buffer on
Windows, disabling vertical scrolling. Redirect stdout/stderr to
StringIO during leiden() calls to prevent any escape codes from
reaching the terminal.

Add 2 tests verifying cluster() produces no stdout/stderr output.

Fixes safishamsi#19

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* docs: add PowerShell troubleshooting section to Windows skill

Document the PowerShell 5.1 scrolling issue and provide 4
workarounds: upgrade graphify, use Windows Terminal, reset
terminal, or uninstall graspologic to use Louvain fallback.

Fixes safishamsi#19

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
- Register 'trae' and 'trae-cn' in _PLATFORM_CONFIG (skill-trae.md,
  ~/.trae/skills/ and ~/.trae-cn/skills/, claude_md=False)
- Add CLI subcommands: graphify trae install/uninstall,
  graphify trae-cn install/uninstall (routes to _agents_install/uninstall)
- Update help text with new platform entries
- Create skill-trae.md (Agent-tool based extraction, AGENTS.md integration,
  no PreToolUse hook support per Trae limitations)
- Update README.md and README.zh-CN.md with Trae platform docs

Co-authored-by: lijinshuan <lijinshuan@bytedance.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…utput

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…extension drift, click detection, skill coverage, .graphify_python persistence

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…hamsi#126)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…e relations in innerHTML (#sec)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…msi#127)

Tree-sitter resolves call targets directly from source — marking them
INFERRED was incorrect. Cross-file class-level uses edges remain INFERRED.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…AST calls

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…dows git hooks (safishamsi#140)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…shamsi#105)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
safishamsi and others added 26 commits April 9, 2026 17:44
…he, graphifyignore parent discovery, MCP fixes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…cription

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…port

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…nstall

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…attribute

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…r prompt itself

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ort.py, bound collision loop

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…aceholder

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…afishamsi#195: skill.md requires general-purpose subagent type for extraction dispatch

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add 'windsurf' platform to _PLATFORM_CONFIG in graphify/__main__.py
- Implement _windsurf_install and _windsurf_uninstall for project-level rules
- Register /graphify slash command via .windsurf/workflows/graphify.md
- Append always-on context rules to .windsurfrules
- Add skill-windsurf.md with complete agent logic for Windsurf/Codeium
- Update README.md with Windsurf installation instructions
…bugs

  - Resolved all 24 merge conflicts by taking v5 as base and re-applying
    windsurf-specific code: _PLATFORM_CONFIG entry, _windsurf_install/
    _windsurf_uninstall functions, CLI handler, help text, README entries
  - Fix _WINDSURF_RULES_MARKER: was "\n## graphify", now "## graphify"
    (consistent with all other platform markers; old value broke idempotency
    check when creating a new .windsurfrules file)
  - Fix uninstall regex: was r"\n*\n## graphify\n..." now r"\n*## graphify\n..."
    (old pattern required a leading newline so uninstall silently no-op'd
    on a freshly created .windsurfrules)Merge branch 'v5' into feat/windsurf
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.

7 participants