Вы можете взглянуть на uSiteBuilder http://usitebuilder.vegaitsourcing.rs/.
Он позволяет создавать и обновлять типы документов с помощью простых классов POCO с использованием атрибутов.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Vega.USiteBuilder;
namespace MySite.DocumentTypes {
[DocumentType(AllowedTemplates = new string[] { "MyTemplateAlias" },
IconUrl = "doc4.gif", Thumbnail = "docWithImage.png",
AllowedChildNodeTypes = new Type[] { typeof(MySite.DocumentTypes.ContentPage) })
]
public class HomePage : MySite.DocumentTypes.PageBase {
}
}