Skip to content
View TomasVotruba's full-sized avatar
🎯
Deprecating Legacy
🎯
Deprecating Legacy

Sponsors

Sponsoring

@VincentLanglet
@sebastianfeldmann
@azjezz
@kbond
@kubawerlos
@theofidry

Highlights

  • Pro

Organizations

@symplify @deprecated-packages @rectorphp

Block or report TomasVotruba

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
tomasvotruba/README.md

Hi, I'm Tomas, and I love Legacy

Nothing excites me more than good old legacy code. A code that can be improved light-years in a matter of few-days work. Not tedious and repetitive work. But with intelligent modern automated almost-futuristic tools.


"If you really want to do something, you'll find a way.

If you don't, you'll find an excuse."


My biggest passion is to innovate in the area of "impossible" and help developers to be happier ❤️ at their daily work.

If you're happy, you enjoy your work and life more, don't you? 😉


I Love to Share and Work

  • 🚀 I work on Rector to help you forget about technical debt and upgrade from PHP 5.6 to PHP 8.1 in a day 💪
  • 🖌️ I blog weekly about PHP and cool coding shortcuts at tomasvotruba.com
  • 📖 I wrote a book about Rector - The Power of Automated Refactoring together with my childhood hero
  • ❤️ Do you enjoy tasty fruits of my work? Support me at Github Sponsors
  • 🐦 I tweet about ideas worth learning at @votrubaT
  • 🔨 Currently, I help successful PHP projects to turn their legacy around to modern, productive code, and fun project to work with.

Do you want your code to be like that? Let me know

Pinned Loading

  1. rectorphp/rector Public

    Instant Upgrades and Automated Refactoring of any PHP 5.3+ code

    PHP 9.8k 724

  2. easy-coding-standard/easy-coding-standard Public

    The Easiest way to add coding standard to your PHP project

    PHP 1.6k 86

  3. tomasvotruba.com Public

    Read about upgrades, static analysis, GPT, Symfony and Laravel

    PHP 89 102

  4. cognitive-complexity Public

    PHPStan rules to measure cognitive complexity of your classes and methods

    PHP 135 1

  5. type-coverage Public

    PHPStan extension to require minimal type-coverage

    PHP 191 12

  6. unused-public Public

    Find Unused Public Elements in Your Code

    PHP 180 12

5,087 contributions in the last year

Skip to contributions year list
Contribution Graph
Day of Week August September October November December January February March April May June July
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Less
No contributions.
Low contributions.
Medium-low contributions.
Medium-high contributions.
High contributions.
More

Activity overview

Contributed to rectorphp/getrector-com, rectorphp/rector, qdequippe/friendsofphp-org and 51 other repositories
Loading A graph representing TomasVotruba's contributions from July 28, 2024 to July 31, 2025. The contributions are 72% commits, 24% pull requests, 3% code review, 1% issues.

Contribution activity

July 2025

Created 1 repository

Created a pull request in rectorphp/rector-src that received 2 comments

[code-quality] Make ctor defined dynamic properties private, as most probably case

I've just run this rule on a legacy codebase and it's missing features: when a property is defined in constructor, it should be private by default…

+304 −232 lines changed 2 comments
Opened 54 other pull requests in 4 repositories
Reviewed 11 pull requests in 5 repositories

Created an issue in rectorphp/rector that received 2 comments

Loading