plagiarize-me.yaml
0.0Schema URL
plagiarize-me.yaml configuration schema
Properties
Configuration for strings, files, and file paths to replace in target file
3 nested properties
Strings to find in target project and be replaced with plagiarized project's values
1 nested properties
Variables available to be used for finding and replacing by variable name. For example $var_name: hello would replace string '$var_name' with 'hello' in target project
Relative path to target files that will be completely overwritten by source files in the same path
Git repo of where this plagiarizable project is hosted
2 nested properties
The git repo url of this project
The default branch that downstream projects should checkout when plagiarizing this project
Files to move in target project from their previous locations
2 nested properties
Directories to move from the target repo to the target repo. Useful for refactoring project structures
Files to move from the target repo to the target repo. Useful for refactoring
Shell commands to run after plagiarize files are done being copied and updated
2 nested properties
Files to copy from plagiarized project if they do not exist in the target project
Files to remove commented sections from. Eg code between // plagiarize:start:always:delete and // plagiarize:end:always:delete
Files that are used the have similarities between instances of that that. .env files for example are similar and could be templated
Definitions
The path to move the directory to
Merge json file with jq command line tool pattern matching
Merge type
Path to file to merge
JQ pattern of property to replace
JQ pattern of property to create if the property does not exist in target project file
A set of properties to replace if the condition evaluates to truthy
Set the value of these items to the value. So '.license':MIT would set the license property of the json file to 'MIT'
A list of items to not create, copy, replace, or remove in target file
Merge yaml file with yq command line tool pattern matching
Merge type
Path to file to merge
YQ pattern of property to replace
YQ pattern of property to create if the property does not exist in target project file
A set of properties to replace if the condition evaluates to truthy
Set the value of these items to the value. So 'license':MIT would set the license property of the yaml file to 'MIT'
A list of items to not create, copy, replace, or remove in target file
Merge file using git merge (use with varied reliability)
Merge type
Path to file to merge
List of Environment variable names to create in target project if they are not already created