diff --git a/NevaevaLibrary/PluginsConventionLibrary/IPluginsConvention.cs b/NevaevaLibrary/PluginsConventionLibrary/IPluginsConvention.cs
new file mode 100644
index 0000000..d7ae658
--- /dev/null
+++ b/NevaevaLibrary/PluginsConventionLibrary/IPluginsConvention.cs
@@ -0,0 +1,64 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace PluginsConventionLibrary
+{
+ public interface IPluginsConvention
+ {
+ ///
+ /// Название плагина
+ ///
+ string PluginName { get; }
+ ///
+ /// Получение контрола для вывода набора данных
+ ///
+ UserControl GetControl { get; }
+ ///
+ /// Получение элемента, выбранного в контроле
+ ///
+ PluginsConventionElement GetElement { get; }
+ ///
+ /// Получение формы для создания/редактирования объекта
+ ///
+ ///
+ ///
+ Form GetForm(PluginsConventionElement element);
+ ///
+ /// Получение формы для работы со справочником
+ ///
+ ///
+ Form GetThesaurus();
+ ///
+ /// Удаление элемента
+ ///
+ ///
+ ///
+ bool DeleteElement(PluginsConventionElement element);
+ ///
+ /// Обновление набора данных в контроле
+ ///
+ void ReloadData();
+ ///
+ /// Создание простого документа
+ ///
+ ///
+ ///
+ bool CreateSimpleDocument(PluginsConventionSaveDocument
+ saveDocument);
+ ///
+ /// Создание простого документа
+ ///
+ ///
+ ///
+ bool CreateTableDocument(PluginsConventionSaveDocument saveDocument);
+ ///
+ /// Создание документа с диаграммой
+ ///
+ ///
+ ///
+ bool CreateChartDocument(PluginsConventionSaveDocument saveDocument);
+ }
+}
diff --git a/NevaevaLibrary/PluginsConventionLibrary/PluginsConventionElement.cs b/NevaevaLibrary/PluginsConventionLibrary/PluginsConventionElement.cs
new file mode 100644
index 0000000..775c74a
--- /dev/null
+++ b/NevaevaLibrary/PluginsConventionLibrary/PluginsConventionElement.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace PluginsConventionLibrary
+{
+ public class PluginsConventionElement
+ {
+ public Guid Id { get; set; }
+ }
+}
diff --git a/NevaevaLibrary/PluginsConventionLibrary/PluginsConventionLibrary.csproj b/NevaevaLibrary/PluginsConventionLibrary/PluginsConventionLibrary.csproj
new file mode 100644
index 0000000..aefee8c
--- /dev/null
+++ b/NevaevaLibrary/PluginsConventionLibrary/PluginsConventionLibrary.csproj
@@ -0,0 +1,10 @@
+
+
+
+ net6.0-windows
+ enable
+ enable
+ true
+
+
+
diff --git a/NevaevaLibrary/PluginsConventionLibrary/PluginsConventionSaveDocument.cs b/NevaevaLibrary/PluginsConventionLibrary/PluginsConventionSaveDocument.cs
new file mode 100644
index 0000000..f902bc6
--- /dev/null
+++ b/NevaevaLibrary/PluginsConventionLibrary/PluginsConventionSaveDocument.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace PluginsConventionLibrary
+{
+ public class PluginsConventionSaveDocument
+ {
+ public string FileName { get; set; }
+ }
+}