There are no reviews yet. Be the first to send feedback to the community and the maintainers!
______ ______ __ __ ______ __ __ ______ __ __ /\__ _\ /\ ___\ /\ "-./ \ /\ == \ /\ \ /\ \ /\ ___\ /\ \_\ \ \/_/\ \/ \ \ __\ \ \ \-./\ \ \ \ _-/ \ \ \____ \ \ \ \ \ __\ \ \____ \ \ \_\ \ \_____\ \ \_\ \ \_\ \ \_\ \ \_____\ \ \_\ \ \_\ \/\_____\ \/_/ \/_____/ \/_/ \/_/ \/_/ \/_____/ \/_/ \/_/ \/_____/ Templify! v1.0 - Powered by endjin ================================== About ===== Templify allows you to template a solution (or folder structure) into a reusable package and then re-deploy that package as a new solution. Templify was originally created to solve the problem of how the Sharp Architecture project could distribute its sample solution - as the exising Visual Studio Template mechanism was problematic. Usage ===== Templify can be executed from either the Windows Explorer Shell or via command line. For Windows Explorer select the parent folder containing the solution you want to templify, right click and select the "Templify This Folder" context menu option. A WPF window will appear asking you to entering information about the solution you are templating; Template Name, Template Version Number, Template Author and most importantly - the repeated word / phrase that will be tokenised. As Templify operates on a convention over configuration principal - it will replace all instances of that token, including internal content, directory & file names - with a bespoke token. When you want to deploy a new instance of your Templify template package - select a new empty folder in Windows Explorer, right click and select "Templify Here" from the context menu. A WPF window will appear with a drop downlist containing all the templates you have installed in your local package repository - select the ones you want to deploy - then enter a new name into the "name" textbox. This will be used to replace the bespoke token created in the previous step. Templify can also be used from the command line / MSBuild project. Two sample MSBuild targets were install into %PROGRAMFILES%\endjin\Templify\Samples\MSBuild - these show how to create and deploy packages. From the command line you would create a package using the following command switches: TemplifyCmd.exe -m c -p C:\Temp\Sample-Create\Sharp-Architecture -n "Sharp Architecture" -a "Howard van Rooijen" -v "1.6.0.0" -t "SA169=__NAME__" -r "c:\Temp\Sample-Deploy" and you would deploy the package created above by using the following command switches: TemplifyCmd.exe -m d -p "c:\Temp\Sample-Deploy" -i sharp-architecture-v1.6.0.0 -t __NAME__=HvR -r "c:\Temp\Sample-Deploy" The switches have the following meaning: -m = mode c = create d = deploy -p = path -n = package name -a = author -v = version number -t = token - can be delimited list "Token=__Token__" "Token1=__Token1__" -i = package name -r = package repository path The default package repository path is \Users\%USERNAME%\AppData\Roaming\Endjin\Templify\repo Packages are simply 7Zip archives - renamed to .pkg. You can open any .pkg file using 7Zip (which is freely downloadable) inside you will find a manifest.xml file - which contains a listing of all the contents in the package and the tokenised solution structure and files. Ingredients =========== Templify makes use of the following tools and frameworks: o Caliburn.Micro - http://caliburnmicro.codeplex.com/ o CommandLine - http://commandline.codeplex.com/ o Machine.Specifications - http://github.com/machine/machine.specifications o Machine.Specifications.AutoMocking - http://github.com/jamesbroome/Machine.Specifications.AutoMocking o RhinoMocks - http://www.ayende.com/projects/rhino-mocks/downloads.aspx o ICSharpCode.SharpZipLib - http://www.icsharpcode.net/opensource/sharpziplib/ o WPF Themes - http://wpfthemes.codeplex.com/ o SevenZipSharp - http://sevenzipsharp.codeplex.com o 7Zip - http://www.7-zip.org(licensed under the GNU LGPL license) o Icon / Logo - The wonderful - Zyotism: http://www.zyotism.com/aesthetics/iconsets/2001/index.html o Console Progress Code by Stanimir Stoyanov: http://stoyanoff.info/code/ConsoleProgress.cs o WPF Notify Icon by Phillipp Sumi: http://www.hardcodet.net/projects/wpf-notifyicon Install ======= http://opensource.endjin.com/templify/install Contribute ========== http://github.com/endjin/Templify Support / Help ============== Follow http://twitter.com/templify on twitter. Report bugs & issues on http://youtrack.codebetter.com/issues/TMPLFY Credits & Thanks ================ James Dawson for the original inspiration Alec Whittington for seeding the idea for use with Sharp Architecture James Broome for Manage Package / Exclusions feature Jon George for testing & moral support Matthew Adams for WPF / MVVM / XAML help Nick Harewood for prettifying the WPF styles. David Perlman for fixing the long standing performance issue. Version History =============== 2010.09.30 - v0.5.0.0 - First public release 2013.04.24 - v0.7.0.0 - Performance improvements, fixes around file encoding issues, replace Visual Studio Installer Project with Advanced Installer Project.
dotnet-adr
A cross platform .NET Global Tool for creating and managing Architectural Decision Records (ADRs).Endjin.Licensing
Endjin's Software Licensing FrameworkZ3.Linq
LINQ bindings for the Z3 theorem prover from Microsoft Research.Endjin.Retry
Endjin's Retry utilitiesEndjin.Assembly.ChangeDetection
An experiment to automatically detect breaking changes in .NET Assembliesaspnetcore-razor-htmx-chartjs
A sample demonstrating how to combine aspnetcore, Razor, and HTMX to power interactive Chart.js visualisationsTeamCityPowerShell
TeamCity PowerShell Modulegit-hooks
Useful Git Hooks for .NET ProjectsSamples
Code Samples from the endjin blogsadventures-in-dapr
This repository supports a blogs series based on the Dapr sample from https://github.com/EdwinVW/dapr-traffic-controlEndjin.RecommendedPractices.NuGet
A NuGet package that configures .NET projects for endjin's recommended engineering practicesEndjin.SpecFlow
Endjin.Composition
Stacker
A .NET Global Tool for automating marketing content across social channels.playwright-two-factor-auth-csharp
Using the Playwright C# SDK to automate 2FA authentication for AAD and MSA scenariosEndjin.Ip.Maturity.Matrix
A framework to measure maturity across the disciplines required to build, test, deploy, reuse, support & sell Intellectual PropertyAngularJS-UnitTesting
Endjin.GitSignCommits
AzAppConfigToUserSecrets
A dotnet global tool for extracting settings from Azure App Configuration Service and stashing them as .NET User Secrets.dotnet-aot-python
Endjin.OpenAPI.Converters
Visual Studio Extension for Converting to / from OpenAPI versionsEndjin.Snowflake
TeamCityJasmineMetaRunner
TeamCity MetaRunner for executing Jasmine SpecificationsEndjin.RecommendedPractices.AzureDevopsPipelines.Python
Endjin.SpecFlow.Selenium
endjin's framework for using Selenium with SpecFlowdev4good
A repository for the results of the dev4good event 2011NewRelicDeploymentNotifierMetaRunner
A TeamCity MetaRunner to notify NewRelic that a new deployment has occurredRxWorkshop
Archive of the Bart De Smet and Wes Dyer present Rx Workshop.ApplicationInsightsReleaseAnnotationsMetaRunner
A TeamCity MetaRunner for creating Release Annotations in Application InsightsTeamCityILMergeMetaRunner
A Meta Runner for TeamCity that allows you to run ILMerge as a Build Steptest-data-gen
.github
Firecracker.Management
.NET SDK for the Firecracker Management APIAzureDemos
Endjin.RecommendedPractices.Bicep
Our library of reusable Bicep modulesTeamCityDemo
Solution for Demonstrating TeamCity Features.CNAB.ARM-Converter
Endjin.Cancelable
CucumberJS.TestAdapter
A basic Visual Studio Test Adapter for CucumberJSEndjin.RecommendedPractices.AzureDevopsPipelines.GitHub
Reusable Azure DevOps Pipelines for building & releasing OSS projects in GitHubTeamsTranscript
A CLI Tool for manipulating Microsoft Teams Call TranscriptsEndjin.RecommendedPractices.GitHubActions
Re-usable GitHub Action workflows and actions for our standardised CI processLove Open Source and this site? Check out how you can help us