diff --git a/document/Kintone自動作成ツールのプラグインについて.xlsx b/document/Kintone自動作成ツールのプラグインについて.xlsx
new file mode 100644
index 0000000..e87f771
Binary files /dev/null and b/document/Kintone自動作成ツールのプラグインについて.xlsx differ
diff --git a/document/action-property.png b/document/action-property.png
new file mode 100644
index 0000000..7ddec0a
Binary files /dev/null and b/document/action-property.png differ
diff --git a/plugin/kintone-addins/image.png b/plugin/kintone-addins/image.png
new file mode 100644
index 0000000..42af4d0
Binary files /dev/null and b/plugin/kintone-addins/image.png differ
diff --git a/plugin/kintone-addins/readme.md b/plugin/kintone-addins/readme.md
new file mode 100644
index 0000000..e8f68e7
--- /dev/null
+++ b/plugin/kintone-addins/readme.md
@@ -0,0 +1,230 @@
+# kintone自動化開発ツールのアクションのアドイン開発手順
+
+## 1. アクションの登録
+
+アクションプラグインをシステムに登録するためには、以下の情報をデータベースの`action`表に挿入する必要があります。
+
+|列名 | 項目 | 説明 |
+|----- |-------------|-------------------------------------------|
+|name | 名前 | アクションプラグイン名(ユニークな名前が必要) |
+|title |タイトル | タイトル |
+|subtitle|サブタイトル | サブタイトル |
+|outputpoint|出力ポイント | 出力値に分岐がある場合の接続点 |
+|property|プロパティ | アクションプラグインの属性(json形式) |
+
+### 登録の例
+
+以下は「表示/非表示」アクションプラグインを登録する例です。
+
+- name: "表示/非表示"
+- title: "指定項目の表示・非表示を設定する"
+- subtitle: "表示/非表示"
+- outputpoint: "[]"
+- property:
+
+```json
+[
+ {
+ "component": "FieldInput",
+ "props": {
+ "displayName": "フィールド",
+ "modelValue": {},
+ "name": "field",
+ "placeholder": "対象項目を選択してください"
+ }
+ },
+ {
+ "component": "SelectBox",
+ "props": {
+ "displayName": "表示/非表示",
+ "options": ["表示", "非表示"],
+ "modelValue": "",
+ "name": "show",
+ "placeholder": ""
+ }
+ },
+ {
+ "component": "ConditionInput",
+ "props": {
+ "displayName": "条件",
+ "modelValue": "",
+ "name": "condition",
+ "placeholder": "条件式を設定してください"
+ }
+ }
+]
+```
+
+### プロパティ属性設定画面
+
+
+
+### 属性UIコンポーネントの共通属性
+| 属性 | 設定値の例 | 説明 |
+|-------------|--------------------|----------------------------------------------------------------------------|
+| component | InputText | コンポーネントの種類を示しており、この場合は選択リストを意味します。
使用可能なコンポーネントを参照|
+| displayName | 表示/非表示 | ユーザーに対して表示されるコンポーネントの名前です。 |
+| options | ["表示", "非表示"] | ユーザーが選択できるオプションの配列です。
SelectBoxのみ使用可能 |
+| modelValue | 空文字 | コンポーネントの初期値を設定します。
初期設定ないの場合は空文字で設定する。
+| name | field | 属性の設定値の名前です。 |
+| placeholder | 対象項目を選択してください| 入力フィールドに表示されるプレースホルダーのテキストです。この場合は設定されていません。 |
+
+### 使用可能なコンポーネント
+| No. | コンポーネント名 | コンポーネントタイプ | 説明 |
+|-----|------------------|------------------|-----------------------------------------|
+| 1 | テキストボックス | InputText | 一行のテキスト入力が可能なフィールドです。 |
+| 2 | テキストボックス(改行可能) | MuiltInputText | 複数行のテキスト入力が可能なテキストエリアです。 |
+| 3 | 日付 | DatePicker | 日付を選択するためのカレンダーコンポーネントです。 |
+| 4 | フィールド選択 | FieldInput | システムのフィールドを選択するための入力コンポーネントです。 |
+| 5 | 選択リスト | SelectBox | 複数のオプションから選択するためのドロップダウンリストです。 |
+| 6 | 条件式設定 | ConditionInput | 条件式やロジックを入力するためのコンポーネントです。 |
+| 7 | 色選択 | ColorPicker | 色を設定する(追加予定中) |
+| 8 | 他のアプリのフィールド選択 | AppFieldPicker | 他のアプリのフィールドを選択する(追加予定中) |
+| 9 |ユーザー選択 | UserPicker | ユーザーを選択する(追加予定中) |
+
+## 2.アクションアドインの開発
+
+### 1. Action pluginファイルの追加
+アクションプラグインを作成するためには、以下のディレクトリ構造に`TypeScript`ファイルを追加します。
+```
+KintoneAppBuilder
+└─ plugin
+ └─ kintone-addins
+ └─ src
+ └─ actions
+ └─ your-action.ts // ここにアクションプラグインのtsファイルを追加
+```
+### 2. アクションクラスの実装手順
+`IAction` インターフェースに従ってアクションクラスを実装します。
+```typescript
+
+/**
+ * アクションのインターフェース
+ */
+export interface IAction{
+ // アクションのユニークな名前
+ name:string;
+ //属性設定情報
+ actionProps: Array;
+ //アクションのプロセス実行関数
+ process(prop:IActionNode,event:any,context:IContext):Promise;
+ //アクションの登録関数
+ register():void;
+}
+```
+#### サンプルコード
+```ts
+// アクションの属性定義
+interface IShownProps{
+ field:IField;
+ show:string;
+ condition:string;
+}
+
+// 表示/非表示アクション
+export class FieldShownAction implements IAction{
+ name: string;
+ actionProps: IActionProperty[];
+ props:IShownProps;
+ constructor(){
+ this.name="表示/非表示"; // DBに登録したアクション名一致する必要があり
+ this.actionProps=[];
+ //プロパティ属性の初期化
+ this.props={
+ field:{code:''},
+ show:'',
+ condition:''
+ }
+ //アクションの自動登録
+ this.register();
+ }
+ /**
+ * アクションの実行を呼び出す
+ * @param actionNode
+ * @param event
+ * @returns
+ */
+ async process(actionNode:IActionNode,event:any,context:IContext):Promise {
+ // ... (アクション処理の実装)
+ }
+
+ register(): void {
+ actionAddins[this.name]=this;
+ }
+}
+new FieldShownAction();
+
+```
+アクションプラグインを実装するには、`IAction`インターフェースの定義に従って、必要なメソッドとプロパティをクラスに実装します。
+以下に、`IAction`インターフェースを用いて`表示/非表示`アクションを実装する手順を説明します。
+1. **アクションの属性定義**
+
+2. **アクションクラスの作成**:
+ - `IAction`インターフェースを実装する新しいクラス`FieldShownAction`を作成します。
+
+3. **コンストラクタの定義**:
+ - アクション名や初期プロパティを設定します。
+ - このクラスのインスタンスが作成された際に、自動的にアクションが登録されるように、コンストラクタ内で`register`メソッドを呼び出します。
+
+4. **プロセス実行関数の実装** (`process`):
+ - `process`メソッドは、アクションの主要なロジックを含み、アクションの実行時に呼び出されます。
+
+
+- * 以下は`process`関数のパラメータとその用途を説明します。
+
+| パラメータ名 | 型 | 用途 |
+|----------|----------------|------------------------------------------------------------------------------------------------|
+| actionNode | `IActionNode` | Kintone自動化ツールのアクションの設定やプロパティ情報を保持します。 |
+| event |kintoneのイベント情報| レコードやエラー制御で使用します |
+| context | `IContext` | 現在のレコード情報や変数など、実行に必要なデータへのアクセスを提供します。 |
+
+ - このメソッド内で、アクションに必要な処理を行います。
+ - 1. アクションプロパティの取得:
+ `Kitone自動化ツール`を設定したプロパティの値を取得する
+
+```ts
+//プロパティ設定を取得する
+this.actionProps=actionNode.actionProps;
+//プロパティ設定のデータ型は必要な情報が含めますか
+if (!('field' in actionNode.ActionValue) && !('show' in actionNode.ActionValue)) {
+ return result
+}
+//既定のプロパティのインターフェースへ変換する
+this.props = actionNode.ActionValue as IShownProps;
+```
+
+- 2. 条件式の評価
+ getConditionResult関数を呼び出して条件式を評価します。この関数は、現在のコンテキストに基づいて条件式が真か偽かを返します。
+```ts
+//条件式の計算結果を取得
+const conditionResult = this.getConditionResult(context);
+ /**
+ *
+ * @param context 条件式を実行する
+ * @returns
+ */
+getConditionResult(context:any):boolean{
+ //プロパティ`condition`から条件ツリーを取得する
+ const tree =this.getCondition(this.props.condition);
+ if(!tree){
+ //条件を設定されていません
+ return true;
+ }
+ return tree.evaluate(tree.root,context);
+}
+```
+- 3. Kintone APIを使用して、フィールドの表示/非表示の制御
+```ts
+ //条件式の計算結果を取得
+ const conditionResult = this.getConditionResult(context);
+ if(conditionResult){
+ if(this.props.show==='表示'){
+ kintone.app.record.setFieldShown(this.props.field.code,true);
+ }else if (this.props.show==='非表示'){
+ kintone.app.record.setFieldShown(this.props.field.code,false);
+ }
+ }
+```
+5. **登録関数の実装** (`register`):
+ - アクションをアドインシステムに登録するための`register`メソッドを実装します。
+