Skip to content

feat: Add Qwen Code CLI platform support#521

Open
KJ-AIML wants to merge 122 commits intosafishamsi:v4from
KJ-AIML:v4
Open

feat: Add Qwen Code CLI platform support#521
KJ-AIML wants to merge 122 commits intosafishamsi:v4from
KJ-AIML:v4

Conversation

@KJ-AIML
Copy link
Copy Markdown

@KJ-AIML KJ-AIML commented Apr 23, 2026

Summary

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 18, 2026 16:51
…save_semantic_cache, fix safishamsi#454 sanitize_label crash on None source_file
…afishamsi#436 _is_sensitive false positives on directory names, fix safishamsi#433 update command writes absolute paths in artifacts

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

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>
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>
- cache: skip directory source_file in save_cached to prevent IsADirectoryError (safishamsi#444)
- report: skip structural-only communities with no real nodes (safishamsi#443)
- hooks: allow @ in python path allowlist for Homebrew paths (safishamsi#474)
- watch: keep source_file paths project-relative after rebuild (safishamsi#434)

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>
…-community gaps; add graph-query CLI rules to install sections

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…, readme gitignore docs

- wiki.py: add encoding="utf-8" to all write_text() calls (fixes Windows cp1252 crash safishamsi#496)
- wiki.py: deduplicate filenames with _unique_slug() to prevent silent article overwrites (safishamsi#497)
- hooks.py: skip post-commit/post-checkout during rebase/merge/cherry-pick (safishamsi#485)
- detect.py: resolve root path at detect() entry so .graphifyignore patterns match consistently (safishamsi#495)
- README.md: document manifest.json, cost.json gitignore and .graphifyignore platform file examples (safishamsi#369)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…, correct common-root inference

- analyze.py: add seed=42 to betweenness_centrality() — eliminates non-deterministic GRAPH_REPORT.md diffs on graphs >1000 nodes (safishamsi#499)
- extract.py: fix common-root inference to stop at first diverging segment not sum of all matches (safishamsi#502)
- extract.py: resolve root to absolute path; post-process file node IDs to project-relative after extraction so graph.json edge endpoints are stable across machines (safishamsi#502)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown

@hridesh-net hridesh-net left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Verdict: Hold-with-fixes

Non-blocking issues — please review inline comments.

PR: safishamsi/graphify#521
Author: @KJ-AIML | Base: v4v4

Summary

  • 🟡 Medium: 2

See inline comments for details.


🤖 Generated with OpsIntelligence · devops.github.review_pr

Comment thread .github/workflows/ci.yml
Comment thread .github/workflows/ci.yml
@KJ-AIML
Copy link
Copy Markdown
Author

KJ-AIML commented Apr 24, 2026

Thanks for the review! 👋

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.

8 participants