You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -101,7 +126,73 @@ Before writing or editing documentation, determine which type it should be:
101
126
- All documentation files are Markdown (`.md`)
102
127
- Files must be linked in the appropriate `index.md` file to appear in navigation
103
128
- Use descriptive, lowercase filenames with hyphens (e.g., `creating-commands.md`)
104
-
- Place files in the appropriate subdirectory based on topic
129
+
-**Guides are now flattened**: All guide files are directly in `src/guides/` (no subdirectories)
130
+
-**Concepts are now flattened**: All concept files are directly in `src/concepts/` (no subdirectories)
131
+
-**Reference non-generated pages are flattened**: Non-generated reference files are directly in `src/reference/` (generated SDK/module docs remain in subdirectories)
132
+
133
+
#### Guides Sidebar Organization
134
+
135
+
The guides sidebar is organized by **user goals and tasks**, not by technical boundaries (Frontend/Backend). This follows Diátaxis principles for how-to guides, which should be organized around "what the user wants to accomplish."
136
+
137
+
**Current Sidebar Structure:**
138
+
139
+
1.**Getting Started** - Onboarding and setup
140
+
- Getting Started
141
+
- Configuring Your Package
142
+
- AI Assisted Coding
143
+
144
+
2.**Building User Interfaces** - Creating UI components and interactions
145
+
- Creating a Page
146
+
- Creating a Command
147
+
- Customizing Context Menus
148
+
- Using the Component Library
149
+
150
+
3.**Working with HTTP** - Sending, fetching, and manipulating HTTP requests
151
+
- Sending HTTP Requests
152
+
- Sending a Fetch Request
153
+
- Fetching Proxied Requests
154
+
- Using Invalid UTF-8
155
+
156
+
4.**Working with Caido Features** - Interacting with Caido's built-in features/objects
157
+
- Using Findings
158
+
- Using Environment Variables
159
+
- (Future: Scopes, HTTP History, Filters, etc.)
160
+
161
+
5.**Storing Data** - Storing your plugin's own data
162
+
- Storing Frontend Data
163
+
- Storing Data in SQLite
164
+
- Adding Files
165
+
166
+
6.**Communication & Events** - Frontend-backend communication and event handling
8.**Distribution** - Publishing and sharing plugins
175
+
- Setting Up Your Repository
176
+
- Submitting to the Store
177
+
178
+
9.**Contributions** - Contributing to the documentation
179
+
- Documentation
180
+
181
+
**Key Principles:**
182
+
183
+
-**Task-oriented, not SDK-oriented**: Guides are grouped by what users want to accomplish, not which SDK they use
184
+
-**No technical boundaries**: Frontend/backend separation is hidden - users find guides by their goal
185
+
-**Conceptual groupings**: Related concepts are grouped together (e.g., all HTTP guides together, all Caido features together)
186
+
-**User mental models**: Organization matches how users think about problems ("I want to build a UI" not "I want to use the frontend SDK")
187
+
188
+
**When adding a new guide:**
189
+
190
+
1. Determine the user's goal: What task are they trying to accomplish?
191
+
2. Find the appropriate section based on that goal
192
+
3. If it's about interacting with Caido's built-in features (Findings, Scopes, Environment Variables, HTTP History, etc.), use "Working with Caido Features"
193
+
4. If it's about sending/manipulating HTTP requests, use "Working with HTTP"
194
+
5. If it's about storing your plugin's data, use "Storing Data"
195
+
6. Update the sidebar in `.vitepress/sidebars/guides.ts`
0 commit comments