This is an idea I had to counter the problem described in issue #631. I actually thought of it since we separated these two things though.
The idea is to have something docpad as the global package, the thing that runs the local package and something like docpad-run or something like that for what docpad runs.
Just a suggestion but I personally think it would make sense to separate both of these.
Want to back this issue? Place a bounty on it! We accept bounties via Bountysource.
What advantage does this offer over having them one code base?
For one it makes the upgrade process easier, since you only need to run docpad update and stuff is updated. And the global version only needs to be updated when there's a change to how it runs stuff or when a new command is added. So it removes one step from the upgrade process.
And second it fixes issues like these: #631 Where the global version runs first and it confuses the local version when it wants to run the same command, and the command should only be run once.