Are you tired of managing feature branches that live forever? Wish you could isolate and apply code changes atomically and with full control? Get ready to change the way you work with Git. Introducing Taylored! ✂️
Taylored is a revolutionary CLI that lets you turn the changes in a branch into portable "plugins," called .taylored
files. Basically, they are structured and intelligent git diffs
that you can manage like real features.
✨ Why Taylored Will Change Your Life?
- Atomic Changes: Taylored promotes the creation of patches that are purely additive or purely subtractive. If a branch contains a mix of added and removed lines, Taylored will refuse to create the plugin, thus ensuring clean and easy-to-manage patches.
-
Versionable Modifications: Your
.taylored
plugins live in the.taylored/
directory of your repository, so you can version and share them with your team. -
Git Power, Without the Headache: Taylored leverages the power of
git diff
andgit apply
for its core operations, offering you reliability and robustness. -
Automation at Your Service: With the
taylored --automatic
command, you can scan your code for special blocks, extract them, and automatically generate.taylored
plugins. Perfect for managing small features or configurations scattered throughout the code. -
Dynamic Content: Not just static patches! The
compute
attribute in thetaylored --automatic
command allows you to run scripts to dynamically generate the content of a patch. Imagine creating patches that adapt to different contexts or include up-to-date information!
🚀 The Commands You'll Love
Here's a quick look at Taylored's main commands:
taylored --save <branch_name>
This command captures the differences between a branch and your HEAD
and saves them to a .taylored
file. Remember, it only works if the changes are purely additive or subtractive!
# Example: Save the changes from the 'feature/new-ui' branch into a plugin
taylored --save feature/new-ui
taylored --add <taylored_file_name>
Applies the changes defined in a .taylored
file to your working directory. It's the primary way to activate a Taylored plugin.
# Example: Apply the 'feature_new-ui.taylored' plugin
taylored --add feature_new-ui
taylored --remove <taylored_file_name>
Reverts the changes applied by a .taylored
file, essentially "deactivating" the plugin.
# Example: Remove the 'feature_new-ui.taylored' plugin
taylored --remove feature_new-ui
taylored --list
Shows all available .taylored
files in the .taylored/
directory. Useful for getting an overview of available plugins.
taylored --list
taylored --automatic <EXTENSIONS> <branch_name> [--exclude <DIR_LIST>]
This is the command that will make you fall in love with Taylored. It scans your files for special code blocks (delimited by <taylored number="N">\
and </taylored>\
) and turns them into .taylored
plugins. You can also use the compute
attribute to dynamically generate the patch content!
// Example of a Taylored block in a .js file
// <taylored number="15">
function newFeaturePart() {
console.log("This is a new, self-contained feature snippet.");
}
// </taylored>
# Example of the --automatic command
taylored --automatic js,ts main --exclude node_modules,dist
Monetization 💸 (only in the taylored
package)
Taylored doesn't stop there. With the full version, you can also monetize your patches!
-
taylored setup-backend
: Initializes a "Backend-in-a-Box" server to handle payments (via PayPal) and secure patch distribution. -
taylored create-taysell <file.taylored>
: Packages a patch for sale, encrypting it and generating a.taysell
metadata file. -
taylored --buy <file.taysell>
: Initiates the purchase process for a commercial patch.
🛠️ Ready to Try?
Installation is super simple. If you just want the basic features:
npm install -g taylo
For the full experience, including monetization features:
npm install -g taylored
Stop doing endless git merge
and git rebase
. Start thinking about your changes as plugins. Install Taylored and take back control of your code!
For more details, check out the full documentation.
Top comments (0)