Files
obswiki/CLAUDE.md
2025-08-10 10:31:10 -04:00

56 lines
2.0 KiB
Markdown

# Claude Development Notes for ObsWiki
## Commands to NEVER run
### Build and Run Commands
- **NEVER** run `cargo run` - this will start the server and block the terminal
- **NEVER** run `./target/debug/obswiki` without the `&` background operator
- **NEVER** run `./target/release/obswiki` without the `&` background operator
### Safe Commands
-`cargo build` - builds the project safely
-`cargo test` - runs tests
-`cargo check` - checks compilation without building
-`./target/debug/obswiki &` - runs in background (if absolutely necessary)
## Development Guidelines
### Task Documentation
- **ALWAYS** document new tasks in `TASK_LOG.md` with:
- Timestamp
- User request (exact quote)
- Actions taken
- Results/outcomes
- Files modified
### File Structure
- Wiki files are stored in `wiki/` directory
- Static assets in `static/` directory
- Source code in `src/` directory
- Migrations in `migrations/` directory
### Key Features Implemented
- ✅ Nested folder path support (fixed routing from `:path` to `*path`)
- ✅ Markdown link processing (strips `.md` extensions)
- ✅ File tree navigation component
- ✅ Search functionality with proper URL encoding
- ✅ Authentication system with multiple providers
### Recent Changes
- Fixed Axum routing to capture full nested paths using `/*path`
- Added file tree API endpoint at `/api/filetree`
- Implemented recursive file tree rendering with folder expand/collapse
- Fixed URL encoding in search results to preserve forward slashes
- Updated markdown renderer to handle both wiki links `[[]]` and regular markdown links to `.md` files
### Architecture Notes
- Uses Axum web framework with Rust
- SQLite database for user management
- pulldown-cmark for markdown processing
- JWT-based authentication
- File-based wiki storage with real-time caching
### Testing
- Server runs on localhost:3000 by default
- Test pages available at `/wiki/examples/getting-started`
- File tree loads automatically on page load