plugins/claude/code/scripts
Snider 5d62464627
feat: Add initial structure for /core:refactor command (#91)
This commit introduces the initial framework for the `/core:refactor` command.

Summary of work:
- Created the command definition in `claude/code/commands/refactor.md`.
- Implemented a PHP script, `claude/code/scripts/refactor.php`, to handle the refactoring logic.
- Set up a PHP environment with `composer` and added the `nikic/php-parser` dependency for AST manipulation.
- Implemented a proof-of-concept for the `extract-method` subcommand.

Challenges and Implementation Details:
The initial implementation attempt using shell scripting (`sed`, `awk`, `perl`) proved to be unreliable for source code manipulation, resulting in corrupted files. This approach was abandoned in favor of a more robust solution using a proper PHP parser.

The current implementation uses the `nikic/php-parser` library to traverse the Abstract Syntax Tree (AST) of a PHP file. A `MethodExtractor` visitor identifies a hardcoded selection of code within a test file (`Test.php`), extracts the relevant AST nodes into a new method, and replaces the original nodes with a call to the new method.

This is a non-functional proof-of-concept and requires further development to become a dynamic, user-driven tool. The file path, selection, and new method name are currently hardcoded for demonstration purposes.
2026-02-02 07:23:32 +00:00
..
auto-approve.sh refactor: restructure as plugin monorepo 2026-02-01 19:44:26 +00:00
block-docs.sh refactor: restructure as plugin monorepo 2026-02-01 19:44:26 +00:00
capture-context.sh refactor: restructure as plugin monorepo 2026-02-01 19:44:26 +00:00
check-coverage.sh feat: Add test coverage tracking and reporting (#89) 2026-02-02 07:22:54 +00:00
check-debug.sh refactor: restructure as plugin monorepo 2026-02-01 19:44:26 +00:00
deps.py feat(/core:deps): show module dependencies (#82) 2026-02-02 07:19:58 +00:00
detect-module.sh feat(plugin): Implement workspace awareness to detect the current module (#75) 2026-02-02 07:17:36 +00:00
detect-secrets.sh feat(code): add secret detection hook (#67) 2026-02-02 07:13:28 +00:00
ensure-commit.sh refactor: restructure as plugin monorepo 2026-02-01 19:44:26 +00:00
env.sh feat: Add /core:env for environment management (#70) 2026-02-02 07:14:37 +00:00
extract-actionables.sh refactor: restructure as plugin monorepo 2026-02-01 19:44:26 +00:00
go-format.sh refactor: restructure as plugin monorepo 2026-02-01 19:44:26 +00:00
log.sh feat(core): add /core:log command for smart log viewing (#77) 2026-02-02 07:17:59 +00:00
migrate.sh feat(code): add /core:migrate Laravel migration helpers (#88) 2026-02-02 07:22:17 +00:00
perf.sh feat(code): add /core:perf performance profiling helpers (#90) 2026-02-02 07:23:05 +00:00
php-format.sh refactor: restructure as plugin monorepo 2026-02-01 19:44:26 +00:00
post-commit-check.sh refactor: restructure as plugin monorepo 2026-02-01 19:44:26 +00:00
pr-created.sh refactor: restructure as plugin monorepo 2026-02-01 19:44:26 +00:00
pre-compact.sh refactor: restructure as plugin monorepo 2026-02-01 19:44:26 +00:00
qa-filter.sh refactor: restructure as plugin monorepo 2026-02-01 19:44:26 +00:00
qa-verify.sh feat(plugin): Implement workspace awareness to detect the current module (#75) 2026-02-02 07:17:36 +00:00
refactor.php feat: Add initial structure for /core:refactor command (#91) 2026-02-02 07:23:32 +00:00
release.sh feat(code): add /core:release command (#86) 2026-02-02 07:21:12 +00:00
session-start.sh refactor: restructure as plugin monorepo 2026-02-01 19:44:26 +00:00
smart-commit.sh feat(code): implement /core:commit smart commit command (#73) 2026-02-02 07:16:29 +00:00
status.sh feat(core): Add /core:status command for multi-repo status (#72) 2026-02-02 07:15:08 +00:00
suggest-compact.sh refactor: restructure as plugin monorepo 2026-02-01 19:44:26 +00:00
test_deps.py feat(/core:deps): show module dependencies (#82) 2026-02-02 07:19:58 +00:00