diff --git a/src/GUIDE.md b/src/GUIDE.md
index 8cb86a6..d969aea 100644
--- a/src/GUIDE.md
+++ b/src/GUIDE.md
@@ -57,13 +57,13 @@ router -> AppShell -> layout -> view -> Section -> Item
- `views/FncPage.vue`
- `views/Settings.vue`
- `views/maint/*`
-- `components/MaintShell.vue`
+- `components/maint/MaintShell.vue`
- `components/maint/*`
- `components/sections/*`
- `components/items/*`
- `composables/page-drivers/*MaintenancePage.ts`
- `composables/maint/*`
-- `composables/commands/*`
+- `composables/useCrudCommands.ts`
- `stores/students.ts`
- `stores/semesters.ts`
- demo assets 與 demo language keys
diff --git a/src/README.md b/src/README.md
index 931eed2..d5f74ab 100644
--- a/src/README.md
+++ b/src/README.md
@@ -97,7 +97,7 @@ Layout composables:
- `src/views/maint/*`
- `src/components/maint/*`
- `src/composables/maint/*`
-- `src/components/MaintShell.vue`
+- `src/components/maint/MaintShell.vue`
- `src/stores/students.ts`
- `src/stores/semesters.ts`
- `src/views/FncPage.vue`
diff --git a/src/components/GUIDE.md b/src/components/GUIDE.md
index b4ad7ec..2f831ac 100644
--- a/src/components/GUIDE.md
+++ b/src/components/GUIDE.md
@@ -9,7 +9,7 @@
- `layouts/`:App Shell 層的 layout 元件。詳見 `src/components/layouts/GUIDE.md`。
- `base/`:真正跨頁共用的基礎元件。詳見 `src/components/base/GUIDE.md`。
-`MaintShell.vue` 是 maintenance 頁面的通用外殼元件,放在 `src/components/` 頂層。
+`MaintShell.vue` 是 maintenance 頁面的通用外殼元件,放在 `src/components/maint/`。
## 規則
diff --git a/src/components/MaintShell.vue b/src/components/maint/MaintShell.vue
similarity index 100%
rename from src/components/MaintShell.vue
rename to src/components/maint/MaintShell.vue
diff --git a/src/components/sections/SectionFormPage.vue b/src/components/sections/SectionFormPage.vue
index 173d779..4a33eac 100644
--- a/src/components/sections/SectionFormPage.vue
+++ b/src/components/sections/SectionFormPage.vue
@@ -1,7 +1,6 @@
diff --git a/src/views/demos/SectionFormPageDemo.vue b/src/views/demos/SectionFormPageDemo.vue
index 84bc5d8..ead87e1 100644
--- a/src/views/demos/SectionFormPageDemo.vue
+++ b/src/views/demos/SectionFormPageDemo.vue
@@ -4,12 +4,12 @@ import BaseFormTextField from '@/components/base/BaseFormTextField.vue'
import SectionFormPage from '@/components/sections/SectionFormPage.vue'
import { useSectionsDemoPage } from '@/composables/page-drivers/useSectionsDemoPage'
-const { demoForm, handleFormBack, handleFormSubmit, pageModel, resetDemoForm } = useSectionsDemoPage()
+const { demoForm, handleFormBack, handleFormSubmit, pageModel, resetDemoForm } =
+ useSectionsDemoPage()
-
+
diff --git a/src/views/demos/SectionQueryPageDemo.vue b/src/views/demos/SectionQueryPageDemo.vue
index 5b271fe..43428d7 100644
--- a/src/views/demos/SectionQueryPageDemo.vue
+++ b/src/views/demos/SectionQueryPageDemo.vue
@@ -8,12 +8,7 @@ const { handleQueryBack, handleQuerySearch, pageModel, queryFilters } = useSecti
-
+
diff --git a/src/views/maint/GUIDE.md b/src/views/maint/GUIDE.md
index 768c8e6..a10f590 100644
--- a/src/views/maint/GUIDE.md
+++ b/src/views/maint/GUIDE.md
@@ -1,6 +1,6 @@
# Maintenance Views Guide
-`views/maint` 是維護頁 demo。所有檔案都是自含的 route entry,UI 與流程直接在 view 中組合 `MaintShell`、`components/sections`、`components/items` 與 composable。
+`views/maint` 是維護頁 demo。所有檔案都是自含的 route entry,UI 與流程直接在 view 中組合 `components/maint/MaintShell`、`components/sections`、`components/items` 與 composable。
## 目前範本
diff --git a/src/views/maint/MasterDetailA.vue b/src/views/maint/MasterDetailA.vue
index 4b06601..e47cb25 100644
--- a/src/views/maint/MasterDetailA.vue
+++ b/src/views/maint/MasterDetailA.vue
@@ -5,7 +5,7 @@ import DetailSidePanel from '@/components/maint/master-detail/DetailSidePanel.vu
import MasterFileFormFields from '@/components/maint/MasterFileFormFields.vue'
import MntDialogCard from '@/components/maint/MntDialogCard.vue'
import MntRecordNavToolbar from '@/components/maint/MntRecordNavToolbar.vue'
-import MaintShell from '@/components/MaintShell.vue'
+import MaintShell from '@/components/maint/MaintShell.vue'
import SectionDataTable from '@/components/sections/SectionDataTable.vue'
import SectionSearchPanel from '@/components/sections/SectionSearchPanel.vue'
import { useMasterDetailAMaintenancePage } from '@/composables/page-drivers/useMasterDetailAMaintenancePage'
diff --git a/src/views/maint/MasterDetailB.vue b/src/views/maint/MasterDetailB.vue
index ae8ecc1..48e7eb6 100644
--- a/src/views/maint/MasterDetailB.vue
+++ b/src/views/maint/MasterDetailB.vue
@@ -511,7 +511,7 @@ import DetailFullHeightPanel from '@/components/maint/master-detail/DetailFullHe
import MasterFileFormFields from '@/components/maint/MasterFileFormFields.vue'
import MntDialogCard from '@/components/maint/MntDialogCard.vue'
import MntRecordNavToolbar from '@/components/maint/MntRecordNavToolbar.vue'
-import MaintShell from '@/components/MaintShell.vue'
+import MaintShell from '@/components/maint/MaintShell.vue'
import { useMaintenanceCrudFlow } from '@/composables/maint/useMaintenanceCrudFlow'
import { useStudentMaintenanceForm } from '@/composables/maint/useStudentMaintenanceForm'
import { type CourseRecord, type SemesterRecord, useSemesterStore } from '@/stores/semesters'
diff --git a/src/views/maint/MasterDetailC.vue b/src/views/maint/MasterDetailC.vue
index 4abd33d..59123f4 100644
--- a/src/views/maint/MasterDetailC.vue
+++ b/src/views/maint/MasterDetailC.vue
@@ -498,7 +498,7 @@ import DetailSimpleList from '@/components/maint/master-detail/DetailSimpleList.
import MasterFileFormFields from '@/components/maint/MasterFileFormFields.vue'
import MntDialogCard from '@/components/maint/MntDialogCard.vue'
import MntRecordNavToolbar from '@/components/maint/MntRecordNavToolbar.vue'
-import MaintShell from '@/components/MaintShell.vue'
+import MaintShell from '@/components/maint/MaintShell.vue'
import { useMaintenanceCrudFlow } from '@/composables/maint/useMaintenanceCrudFlow'
import { useStudentMaintenanceForm } from '@/composables/maint/useStudentMaintenanceForm'
import { type CourseRecord, type SemesterRecord, useSemesterStore } from '@/stores/semesters'
diff --git a/src/views/maint/SingleRecord.vue b/src/views/maint/SingleRecord.vue
index d3311a7..63e9ce6 100644
--- a/src/views/maint/SingleRecord.vue
+++ b/src/views/maint/SingleRecord.vue
@@ -1,5 +1,5 @@