CodeMonitor allows you to monitor and alert on changes to specific functions, methods and/or entire classes.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src/MAPIS
.gitignore
LICENSE
README.md
codemon.php
composer.json
composer.lock

README.md

CodeMonitor

CodeMonitor allows you to monitor and alert on changes to specific functions, methods and/or entire classes.

Features

  • Easily create watchlists of functions, methods or entire classes (with namespace support)
  • Create watch lists based on docblocks (watch class or function with specific docblock tag)
  • Only get notifications of meaningful changes (not for whitespace or comment changes)

Example usage

  • Make sure your entire team is aware of changes to that sensitive method
  • Keep track of changes to specific methods in that composer package you use

Example

$ php codemon.php init 
Enter source base path [/Users/mathieu/Projects/CodeMonitor]: 
Enter directory to store my data in [/Users/mathieu/Projects/CodeMonitor/.codemon/]: 
Wrote database structure to /Users/mathieu/Projects/CodeMonitor/.codemon/sigs.db
Wrote configuration to /Users/mathieu/Projects/CodeMonitor/.codemon/config.json

$ php codemon.php watch -c ./.codemon/config.json Controller_Test
Found Controller_Test in /Users/mathieu/Projects/CodeMonitor/tests/src/controller/index.php. Watch this? [Y/n]: Y
[ADDED] Controller_Test

$ php codemon.php watch -c ./.codemon/config.json @sensitive
Found @sensitive as MAPIS\Tests\MyTest::MyMethod in /Users/mathieu/Projects/CodeMonitor/tests/namespaced.php. Start watching? [Y/n]:
[ADDED] MAPIS\Tests\MyTest::MyMethod

$ php codemon.php check -c ./.codemon/config.json
[CHANGED] /Users/mathieu/Projects/CodeMonitor/tests/src/controller/index.php: Controller_Test
--- Original
+++ New
@@ @@
 class Controller_Test
 {
     public function thisIsMyMethod()
     {
+        if (1) {
+            doSomethingUnsafe();
+        }
     }
 }
 
$ php codemon.php watch -c ./.codemon/config.json Controller_Test::thisIsMyMethod
Found Controller_Test::thisIsMyMethod in /Users/mathieu/Projects/CodeMonitor/tests/src/controller/index.php. Watch this? [Y/n]: Y
[ADDED] Controller_Test::thisIsMyMethod