Skip to content

Commit e579751

Browse files
authored
Reorganize sidebar
1 parent d7167f5 commit e579751

File tree

3 files changed

+150
-259
lines changed

3 files changed

+150
-259
lines changed

.vitepress/sidebars/guides.ts

Lines changed: 46 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import type { DefaultTheme } from "vitepress";
22

33
export const guidesSidebar: DefaultTheme.SidebarItem[] = [
44
{
5-
text: "Guides",
5+
text: "Getting Started",
66
items: [
77
{
88
text: "Getting Started",
@@ -19,7 +19,7 @@ export const guidesSidebar: DefaultTheme.SidebarItem[] = [
1919
],
2020
},
2121
{
22-
text: "Frontend",
22+
text: "Building User Interfaces",
2323
items: [
2424
{
2525
text: "Creating a Page",
@@ -33,76 +33,91 @@ export const guidesSidebar: DefaultTheme.SidebarItem[] = [
3333
text: "Customizing Context Menus",
3434
link: "/guides/menu",
3535
},
36-
{
37-
text: "Storing Frontend Data",
38-
link: "/guides/frontend_storage",
39-
},
4036
{
4137
text: "Using the Component Library",
4238
link: "/guides/styling",
4339
},
4440
],
4541
},
4642
{
47-
text: "Backend",
43+
text: "Working with HTTP",
4844
items: [
4945
{
50-
text: "Creating and Calling a Custom Function",
51-
link: "/guides/rpc",
46+
text: "Sending HTTP Requests",
47+
link: "/guides/request",
5248
},
5349
{
54-
text: "Handling Backend Events",
55-
link: "/guides/backend_events",
50+
text: "Sending a Fetch Request",
51+
link: "/guides/fetch",
5652
},
5753
{
5854
text: "Fetching Proxied Requests",
5955
link: "/guides/querying_requests",
6056
},
6157
{
62-
text: "Sending HTTP Requests",
63-
link: "/guides/request",
58+
text: "Using Invalid UTF-8",
59+
link: "/guides/utf",
6460
},
61+
],
62+
},
63+
{
64+
text: "Working with Caido Features",
65+
items: [
6566
{
66-
text: "Sending a Fetch Request",
67-
link: "/guides/fetch",
67+
text: "Using Findings",
68+
link: "/guides/findings",
6869
},
6970
{
70-
text: "Sending Events to the Frontend",
71-
link: "/guides/events",
71+
text: "Using Environment Variables",
72+
link: "/guides/env",
7273
},
74+
],
75+
},
76+
{
77+
text: "Storing Data",
78+
items: [
7379
{
74-
text: "Spawning a Process",
75-
link: "/guides/spawning_process",
80+
text: "Storing Frontend Data",
81+
link: "/guides/frontend_storage",
7682
},
7783
{
7884
text: "Storing Data in SQLite",
7985
link: "/guides/sqlite",
8086
},
8187
{
82-
text: "Using Findings",
83-
link: "/guides/findings",
84-
},
85-
{
86-
text: "Using Invalid UTF-8",
87-
link: "/guides/utf",
88+
text: "Adding Files",
89+
link: "/guides/files",
8890
},
8991
],
9092
},
9193
{
92-
text: "Shared",
94+
text: "Communication & Events",
9395
items: [
9496
{
95-
text: "Adding Files",
96-
link: "/guides/files",
97+
text: "Creating and Calling a Custom Function",
98+
link: "/guides/rpc",
9799
},
98100
{
99-
text: "Using Environment Variables",
100-
link: "/guides/env",
101+
text: "Handling Backend Events",
102+
link: "/guides/backend_events",
103+
},
104+
{
105+
text: "Sending Events to the Frontend",
106+
link: "/guides/events",
107+
},
108+
],
109+
},
110+
{
111+
text: "System Integration",
112+
items: [
113+
{
114+
text: "Spawning a Process",
115+
link: "/guides/spawning_process",
101116
},
102117
],
103118
},
104119
{
105-
text: "Community Store",
120+
text: "Distribution",
106121
items: [
107122
{
108123
text: "Setting Up Your Repository",

AGENTS.md

Lines changed: 104 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -65,24 +65,49 @@ src/
6565
├── tutorials/ # Step-by-step learning experiences
6666
│ ├── index.md
6767
│ └── notebook.md
68-
├── guides/ # Task-oriented how-to guides
68+
├── guides/ # Task-oriented how-to guides (all files flattened)
6969
│ ├── index.md
70-
│ ├── components/ # Component-specific guides
7170
│ ├── config.md
72-
│ ├── contributions/ # Contribution guides
73-
│ └── distribution/ # Distribution guides
71+
│ ├── vibe_coding.md
72+
│ ├── page.md
73+
│ ├── command.md
74+
│ ├── menu.md
75+
│ ├── styling.md
76+
│ ├── request.md
77+
│ ├── fetch.md
78+
│ ├── querying_requests.md
79+
│ ├── utf.md
80+
│ ├── findings.md
81+
│ ├── env.md
82+
│ ├── frontend_storage.md
83+
│ ├── sqlite.md
84+
│ ├── files.md
85+
│ ├── rpc.md
86+
│ ├── backend_events.md
87+
│ ├── events.md
88+
│ ├── spawning_process.md
89+
│ ├── repository.md
90+
│ ├── store.md
91+
│ └── documentation.md
7492
├── reference/ # Technical reference documentation
7593
│ ├── index.md
76-
│ ├── sdks/ # SDK documentation
77-
│ ├── modules/ # Module documentation
94+
│ ├── sdks/ # Generated SDK documentation
95+
│ ├── modules/ # Generated module documentation
7896
│ ├── config.md
79-
│ └── manifest.md
80-
└── concepts/ # Explanatory documentation
97+
│ ├── manifest.md
98+
│ ├── plugin_packages.md
99+
│ ├── api.md
100+
│ └── authentication.md
101+
└── concepts/ # Explanatory documentation (all files flattened)
81102
├── index.md
82-
├── essentials/ # Core concepts
83-
├── frontend/ # Frontend concepts
84-
├── backend/ # Backend concepts
85-
└── modules/ # Module concepts
103+
├── package.md
104+
├── tooling.md
105+
├── runtime.md
106+
├── signing.md
107+
├── ui.md
108+
├── binary.md
109+
├── workflow.md
110+
└── child_process.md
86111
```
87112

88113
## How to Contribute (For AI Agents)
@@ -101,7 +126,73 @@ Before writing or editing documentation, determine which type it should be:
101126
- All documentation files are Markdown (`.md`)
102127
- Files must be linked in the appropriate `index.md` file to appear in navigation
103128
- 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
167+
- Creating and Calling a Custom Function
168+
- Handling Backend Events
169+
- Sending Events to the Frontend
170+
171+
7. **System Integration** - System-level operations
172+
- Spawning a Process
173+
174+
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`
105196

106197
### 3. Writing Guidelines
107198

0 commit comments

Comments
 (0)