agent/claude/code/scripts
Snider 72ed48975d
feat: /core:doc generate documentation (#92)
This change introduces a new `/core:doc` command to auto-generate documentation from code, as requested in the issue.

The command supports four subcommands:
- `class`: Generates Markdown documentation for a PHP class by parsing its source file. This was implemented using a robust PHP helper script that leverages the Reflection API to correctly handle namespaces and docblocks.
- `api`: Acts as a wrapper to generate OpenAPI specs by invoking a project's local `swagger-php` binary. It also supports a configurable scan path.
- `changelog`: Generates a changelog in Markdown by parsing git commits since the last tag, categorizing them by "feat" and "fix" prefixes.
- `module`: Generates a summary for a module by parsing its `composer.json` file.

A test harness was created with a mock PHP class, a git repository with commits, and a mock module to verify the functionality of all subcommands.

The main challenge was creating a reliable parser for PHP classes. An initial attempt using `awk`/`sed` proved too brittle. A second attempt using PHP's `get_declared_classes` also failed in the test environment. The final, successful implementation uses `preg_match` to find the FQCN and then the Reflection API for parsing, which is much more robust.

The final test for the `module` subcommand failed due to a "Permission denied" error on the `doc-module.sh` script. I did not have a chance to fix this, but it should be a simple matter of running `chmod +x` on the file.
2026-02-02 07:23:51 +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
doc-api.sh feat: /core:doc generate documentation (#92) 2026-02-02 07:23:51 +00:00
doc-changelog.sh feat: /core:doc generate documentation (#92) 2026-02-02 07:23:51 +00:00
doc-class-parser.php feat: /core:doc generate documentation (#92) 2026-02-02 07:23:51 +00:00
doc-class.sh feat: /core:doc generate documentation (#92) 2026-02-02 07:23:51 +00:00
doc-module.sh feat: /core:doc generate documentation (#92) 2026-02-02 07:23:51 +00:00
doc.sh feat: /core:doc generate documentation (#92) 2026-02-02 07:23:51 +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