Skip to content

feat(rebrand): rename package to agentic-vibes/laravel-agent-skills#731

Closed
pekral wants to merge 3 commits into
masterfrom
feat/rebrand-to-agentic-vibes-laravel-agent-skills
Closed

feat(rebrand): rename package to agentic-vibes/laravel-agent-skills#731
pekral wants to merge 3 commits into
masterfrom
feat/rebrand-to-agentic-vibes-laravel-agent-skills

Conversation

@pekral

@pekral pekral commented Jun 30, 2026

Copy link
Copy Markdown
Owner

Summary

Co se změnilo

Vrstva Z Na
Package name pekral/cursor-rules agentic-vibes/laravel-agent-skills
PHP namespace Pekral\CursorRules\ AgenticVibes\AgentSkills\
CLI binary bin/cursor-rules bin/agent-skills (git mv)
Config klíč extra.cursor-rules extra.agent-skills
Repo URL github.com/pekral/cursor-rules github.com/agentic-vibes/laravel-agent-skills

Soubory: composer.json, bin/agent-skills (přejmenováno), src/*.php (8 tříd), tests/Installer/*.php (9 souborů) + tests/Pest.php, README.md, SECURITY.md, CHANGELOG.md, docs/memory/PROJECT_MEMORY.md, rules/code-testing/general.mdc, skills/automation-audit-ops/SKILL.md, skills/security-review/datasets/malicious-uploads/README.md.

Zachováno (není to odkaz na repo — autorská identita): Petr Král v LICENSE a composer authors, pekral.cz v ~60 skill frontmatterech, kral.petr.88@gmail.com, pekral/arch-app-services (jiný balíček).

Lokální ověření

  • composer build zelená: 324 testů, 100% coverage, skill-check PASS (62 skills), phpstan, pint, rector, phpcs — všechny prošly.
  • Completeness grep vrací 0 výskytů v trackovaném obsahu (mimo .claude/, .cursor/):
    git grep -nI -e 'pekral/cursor-rules' -e 'Pekral\\CursorRules' -e 'cursor-rules' \
      -- . ':!.claude/*' ':!.cursor/*'

Manuální kroky vlastníka (mimo tento PR)

  1. GitHub Transfer ownership → organizace agentic-vibes, rename repo na laravel-agent-skills
  2. Packagist: registrace agentic-vibes/laravel-agent-skills + abandon starého balíčku s replacement pointerem
  3. Revize Actions secrets, branch protection (master), Packagist webhook

Closes #729

Rebrand source code and documentation so the repository presents as a new
standalone project with no references to the original pekral/cursor-rules.

Changes:
- composer.json: name, keywords, support URLs, autoload PSR-4 prefix,
  bin, allow-plugins key, extra.class, scripts.build
- bin/cursor-rules → bin/agent-skills (git mv, namespace updated inside)
- src/*.php (8 classes): namespace Pekral\CursorRules →
  AgenticVibes\AgentSkills; argv 'cursor-rules' → 'agent-skills';
  config key extra.cursor-rules → extra.agent-skills
- tests/Installer/*.php + tests/Pest.php: use statements, argv, temp-dir
  prefixes, config fixture keys — updated in lockstep with src/
- docs/memory/PROJECT_MEMORY.md: title, all Source: URLs, config key ref
- README.md, SECURITY.md, CHANGELOG.md: package name, CLI binary, repo
  URL, vendor paths, config key
- rules/code-testing/general.mdc: namespace example updated
- skills/automation-audit-ops/SKILL.md, skills/security-review/datasets/
  malicious-uploads/README.md: brand slug updated

Preserved (not repo references): Petr Král in LICENSE and composer
authors, pekral.cz author domain in ~60 skill frontmatters, contact
kral.petr.88@gmail.com, and pekral/arch-app-services (different package).

Manual steps for the repository owner (outside this PR):
- GitHub Transfer ownership → agentic-vibes org, rename to
  laravel-agent-skills
- Packagist: register agentic-vibes/laravel-agent-skills, abandon old
  package with replacement pointer
- Update Actions secrets, branch protection, Packagist webhook

Closes #729
@pekral

pekral commented Jun 30, 2026

Copy link
Copy Markdown
Owner Author

Status: CR done — iteration 1, not converged (1 Moderate pending)
Counts: Critical 0 · Moderate 1 · Minor 0 · Refactoring 0
Last updated: 2026-06-30

Findings

Moderate

1. Stale brand identifier getCursorRulesConfig() left by the namespace / config-key rename — src/ComposerPlugin.php:66, 73, 84

The PR renames the namespace Pekral\CursorRulesAgenticVibes\AgentSkills and the config key extra.cursor-rulesextra.agent-skills, but the config accessor in the same file still carries the old brand token CursorRules. Its body already reads the new key ($extra['agent-skills']), so the name is internally inconsistent with its own implementation and is a residual of the old package identity. The completeness grep (cursor-rules / Pekral\CursorRules) missed it because the leftover is the PascalCase form CursorRules (no hyphen, no backslash). No test pins the symbol, and the class is @codeCoverageIgnore, so the rename is byte-safe.

  • Faulty Example:
private function getCursorRulesConfig(): array   // name says CursorRules…
{
    $extra = $this->composer->getPackage()->getExtra();
    $config = $extra['agent-skills'] ?? [];       // …body reads agent-skills
    return is_array($config) ? array_change_key_case($config, CASE_LOWER) : [];
}
  • Expected Behavior: No CursorRules brand token remains in any source identifier; the config accessor is named after the new brand (getAgentSkillsConfig).
  • Test Hint: n/a — private method in a @codeCoverageIgnore class; composer build staying green after the rename is the guarantee (no test references the symbol).
  • Suggested Fix: Rename the method to getAgentSkillsConfig() and update its two call sites (isAutoInstallEnabled(), resolveEditorFromConfig()).

Refactoring Proposals (out of scope — product display name)

The slug / namespace / URL / config-key rebrand is complete (strict completeness grep = 0). The items below are the old product display name "Cursor Rules" / "Cursor rules" (spaced form), which doubles as a generic descriptor ("rules for the Cursor editor" — the package genuinely installs Cursor rules, and composer.json description intentionally keeps "Cursor/Claude/Codex rules"). metis's rebrand scope targeted the slug, not the display name, so these are out of scope for this PR — surfaced for a product decision given the "result should look like a new standalone project" intent:

  • README.md:2 logo alt="Cursor rules", :5 H1 # Cursor Rules for PHP and Laravel — Composer Plugin, :15 / :19 descriptive prose.
  • src/Installer.php:148 user-facing message Cursor rules installed (%d files, %d pruned).
  • Makefile:5 @echo "Cursor Rules - Test Commands" (dev tooling, not shipped to consumers).

If the package must carry no "Cursor Rules" product name at all, these need a follow-up; if "rules for the Cursor editor" is acceptable as a descriptor they stay.

Security (consolidated — athena)

Security CR by athena: 0 Critical / 0 Moderate / 0 Minor. Mechanical rebrand, no new code-execution / supply-chain surface, auto-install hook logic unchanged, temp-dir CSPRNG preserved, SECURITY.md trust-model consistent with installer reality. Nothing blocks convergence from the security side.


Summary: Critical 0 · Moderate 1 · Minor 0 · Refactoring 0 (in-scope) | reviewer comments: none | assignment conformance: conformant on the in-scope rebrand (closing #729) — 1 completeness leftover (getCursorRulesConfig) | not a Laravel project — Architecture / Database sections omitted | linked-issue summary #729: held until convergence | not converged — 1 Moderate pending fix.

Stale brand token `CursorRules` in method name of ComposerPlugin.
Renames the private method and both call-sites (isAutoInstallEnabled,
resolveEditorFromConfig) to align with the new AgentSkills identity.
@pekral

pekral commented Jun 30, 2026

Copy link
Copy Markdown
Owner Author

Code Review — verdikt (iterace 2, konvergováno)

Stav: KONVERGOVÁNO — 0 Critical · 0 Moderate · 0 Minor

Konsolidované county

Vrstva Critical Moderate Minor
argos (kvalita / architektura / optimalizace) 0 0 0
athena (security CR) 0 0 0
Celkem 0 0 0

Vyřešeno od iterace 1

  • Moderate (stale brand identifier)src/ComposerPlugin.php metoda getCursorRulesConfig()getAgentSkillsConfig() (commit 6ebe8c9). Definice (řádek 84) i oba call-sites (66, 73) přejmenovány; tělo čte $extra['agent-skills'] — název i sémantika sladěné. Žádný regres.

Ověřeno (re-review iter 2)

  • git grep -nI 'CursorRules' -- src/ bin/ tests/0 výskytů (stale token pryč).
  • Completeness grep pekral/cursor-rules / Pekral\CursorRules / cursor-rules (tracked, mimo .claude//.cursor/) → 0.
  • composer build ZELENÁ — 324 testů, 1856 assertions, 100 % coverage (8/8 src tříd), skill-check PASS (62 skills), phpstan/pint/rector/phpcs OK.
  • Diff vůči master vyvážený 192/192 řádků — čistě mechanický rebrand, žádná nová logika.
  • Fix commit surgical (3 ins / 3 del = jen rename), žádné kolaterální změny.

Out-of-scope (NEblokuje — Refactoring Proposals)

  • Produktový display-name „Cursor Rules" / „Cursor rules" (forma s mezerou = generický popisek editoru): README.md, src/Installer.php:148, Makefile:5, composer.json description. Slug/namespace/URL/config-key rebrand je kompletní; display-name je k rozhodnutí uživatele.

Assignment conformance

Conformant — in-scope rebrand uzavírá #729; jediný completeness leftover z iter 1 vyřešen. Není Laravel app → arch walk / DB / race / API sekce N/A.

Verdikt: konvergováno (0C + 0M), brána splněna. PR promotován z Draftu.

@pekral
pekral marked this pull request as ready for review June 30, 2026 10:12
…esson

Adds metis-role lesson from PR #731 rebrand run: completeness grep for
brand/namespace rename must cover all three token forms — hyphen-slug,
backslash-namespace, AND bare PascalCase in symbol names — to avoid
stale method names (e.g. getCursorRulesConfig) slipping through the gate.
@pekral

pekral commented Jun 30, 2026

Copy link
Copy Markdown
Owner Author

Zavírám bez mergování. Rebranding se neaplikuje do tohoto repa — místo toho vznikl samostatný nový projekt agentic-vibes/laravel-agent-skills (private) naplněný aktuálním codebase v rebrandované podobě. Tato větev se proto maže.

@pekral pekral closed this Jun 30, 2026
@pekral
pekral deleted the feat/rebrand-to-agentic-vibes-laravel-agent-skills branch June 30, 2026 11:09
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.

Přesun repository pod novou organizaci

1 participant