I wanted to get early feedback on a tool I've been brewing. The goals are:
1. Make it as effortless as possible to copy any code from any repo into a subfolder of your own repo. The subfolders should automatically pull in any new changes by default, and can be pinned to a specific commit hash / branch.
2. Come up with a way to do "structured monkeypatching." Sometimes you run across a bug in someone's library but don't have the time to fork it, fix the bug, submit a PR, and change your project to use the fork. This is also hard when you have many repos that depend on whatever library you're fixing. Now you can just `monki clone` the troublesome library, then describe to monki how to fix the bug.
(There's a sneaky third motive: I've been working on a new dialect of Arc, and I'm trying to hone the language by building real applications in it as quickly as possible. Then I fix whatever pain points pop up.)
1. Make it as effortless as possible to copy any code from any repo into a subfolder of your own repo. The subfolders should automatically pull in any new changes by default, and can be pinned to a specific commit hash / branch.
2. Come up with a way to do "structured monkeypatching." Sometimes you run across a bug in someone's library but don't have the time to fork it, fix the bug, submit a PR, and change your project to use the fork. This is also hard when you have many repos that depend on whatever library you're fixing. Now you can just `monki clone` the troublesome library, then describe to monki how to fix the bug.
(There's a sneaky third motive: I've been working on a new dialect of Arc, and I'm trying to hone the language by building real applications in it as quickly as possible. Then I fix whatever pain points pop up.)
Here's an example of #2: https://github.com/laarc/monki/blob/master/lumen/monki.l ... Monki is powered by Lumen, but it extends Lumen with additional syntax like """python raw strings""", without forking it.
I don't know if these scenarios are common for many other people, or if anyone would find this useful.