55 lines
2.0 KiB
Markdown
55 lines
2.0 KiB
Markdown
# AI Assistant Navigation Guide
|
|
|
|
## Reading Strategy
|
|
|
|
### Start Here
|
|
1. **repo-overview.md** - Understand the project purpose, technologies, and high-level structure
|
|
2. **architecture.md** - Learn module interactions and data flows
|
|
|
|
### Locating Code
|
|
3. Use **file-map.json** to find which module contains your target file
|
|
4. Use **function-index.json** to locate specific functions/classes by name
|
|
|
|
### Reading Details
|
|
5. Read the corresponding **module/*.md** for component-level understanding
|
|
6. Read **file/*.md** for implementation details
|
|
|
|
### When to Open Source Files
|
|
Only open original source files when:
|
|
- Implementation details are not documented
|
|
- Debugging requires exact line numbers
|
|
- Understanding edge cases not covered in documentation
|
|
|
|
## Quick Reference
|
|
|
|
| Task | Best Approach |
|
|
|------|---------------|
|
|
| Find login logic | Check `LoginController` in function-index.json, then read `app/Http/Controllers/LoginController.php` |
|
|
| Add new user role | Modify `app/Enums/UserTypes.php`, update permissions in `UserPermissions` |
|
|
| Create new product API | Add route in `routes/web.php`, create controller in `app/Http/Controllers/Market/` |
|
|
| File upload handling | Use `FilesMainController@UploadFilefromRequest` |
|
|
|
|
## Common Operations
|
|
|
|
### Adding a New Page
|
|
1. Update `file-map.json` to add file mapping
|
|
2. Create Vue component in `resources/js/Pages/`
|
|
3. Add route in `routes/web.php`
|
|
4. Create controller if needed
|
|
5. Update viewmap config if server-side rendering required
|
|
|
|
### Modifying User Permissions
|
|
1. Check `UserActions` enum in `app/Enums/UserActions.php`
|
|
2. Review `UserPermissions::isActionPermitted()` logic
|
|
3. Update role matrix as needed
|
|
|
|
### Debugging API Endpoints
|
|
1. Find route in `routes/web.php`
|
|
2. Locate controller from function-index.json
|
|
3. Check middleware requirements in `Kernel.php`
|
|
|
|
## Architecture Tips
|
|
|
|
- **Vue Router**: SPA routes handled via Vue's client-side routing
|
|
- **Server Rendering**: Use `/p/{page}/s/` for server-rendered pages
|
|
- **Permissions**: Role checking happens via `canDo()` method on User model |