Transform Your Git Branches into Plugins with Taylored!
Vincenzo Tilotta

Vincenzo Tilotta @tailot

Joined:
Aug 28, 2017

Transform Your Git Branches into Plugins with Taylored!

Publish Date: Jul 2
0 0

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 and git 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 the taylored --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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

taylored --list

Shows all available .taylored files in the .taylored/ directory. Useful for getting an overview of available plugins.

taylored --list
Enter fullscreen mode Exit fullscreen mode

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>
Enter fullscreen mode Exit fullscreen mode
# Example of the --automatic command
taylored --automatic js,ts main --exclude node_modules,dist
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

For the full experience, including monetization features:

npm install -g taylored
Enter fullscreen mode Exit fullscreen mode

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.

Comments 0 total

    Add comment