- Add comprehensive projects feature documentation (docs/projects-feature.md) - Add testing guide and checklist (test_projects_feature.js) - Update .gitignore to exclude database files - Include Task 13 completion summary Documentation covers: - Feature overview and key capabilities - Project creation (manual and smart suggestions) - Session assignment (automatic and manual) - Project management (edit, delete, restore) - Complete API reference - Smart suggestions explanation - Troubleshooting and FAQ Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
13 KiB
Projects Feature Documentation
Feature Overview
The Projects feature provides a powerful way to organize your Obsidian web sessions into logical groupings. Each session can belong to one project, allowing you to:
- Group related sessions together (e.g., by client, topic, or time period)
- Track sessions per project
- View project progress and statistics
- Maintain a clean, organized workspace with automatic session assignment
Key Features
- Automatic Session Assignment: Sessions are automatically assigned to active projects when created
- Smart Suggestions: AI-powered suggestions for project names based on your workspace
- Flexible Organization: Move sessions between projects, create standalone sessions
- Soft Delete: Deleted projects go to the recycle bin for easy restoration
- Project Insights: View session counts and per-project statistics
Creating Projects
Via the Projects Page
- Navigate to
/projectsin your browser - Click the "New Project" button in the top-right
- In the dialog:
- Project Name: Enter a descriptive name (required)
- Description: Add an optional description
- Color: Choose a color for visual identification
- Active Status: Toggle whether the project should accept new sessions
- Click "Create Project"
Via Smart Suggestions
- Navigate to
/projects - Click the "Suggestions" button (✨)
- Review AI-generated project name suggestions based on your workspace content
- Click "Use" next to any suggestion to quickly create a project with that name
Best Practices
- Use descriptive names that reflect the project's purpose
- Set projects to inactive when you're no longer actively working on them
- Use colors to visually distinguish between different types of projects
- Add descriptions to provide context for future reference
Assigning Sessions to Projects
Automatic Assignment
When you create a new session while an active project exists:
- The session is automatically assigned to one of your active projects
- Assignment follows these priority rules:
- User-selected project (if you manually selected one)
- Most recently created active project
- Oldest active project
- You'll see the project name displayed on the session card
Manual Assignment via Context Menu
To move a session to a different project:
- Right-click (or long-press on mobile) on any session card
- Select "Move to Project" from the context menu
- Choose the destination project from the dropdown
- Click "Move" to confirm
The session will be removed from its current project and assigned to the new one.
Creating Standalone Sessions
To create a session without assigning it to any project:
- Deactivate all projects before creating the session
- Or move the session out of its current project (using "Move to Project" → "No Project")
Managing Projects
Viewing Projects
Navigate to /projects to see:
- All Projects: Grid view of all your projects
- Project Cards: Each card shows:
- Project name and color
- Description
- Number of sessions
- Status badge (Active/Inactive)
- Action buttons (Edit, Delete)
- Recycle Bin: View soft-deleted projects that can be restored
Editing Projects
- Navigate to
/projects - Click the "Edit" button on the project card
- Modify the project details:
- Name
- Description
- Color
- Active status
- Click "Save Changes"
Deleting Projects
- Navigate to
/projects - Click the "Delete" button on the project card
- Confirm the deletion
What happens when you delete a project:
- The project is soft-deleted (moved to recycle bin)
- All sessions become unassigned (no project)
- The project can be restored from the recycle bin within 30 days
- After 30 days, soft-deleted projects are permanently removed
Restoring Projects
- Navigate to
/projects - Click the "Recycle Bin" button
- Find the project you want to restore
- Click "Restore"
- The project is restored with all its original settings
Note: Sessions are NOT automatically reassigned when restoring a project. You'll need to manually move sessions back if desired.
Permanently Deleting Projects
To immediately and permanently delete a project:
- Navigate to
/projects - Click the "Recycle Bin" button
- Find the project
- Click "Delete Permanently"
Warning: This action cannot be undone!
API Reference
Projects API
List All Projects
GET /api/projects
Response:
{
"success": true,
"projects": [
{
"id": "uuid",
"name": "Project Name",
"description": "Optional description",
"color": "#3b82f6",
"is_active": true,
"created_at": "2025-01-19T10:00:00Z",
"updated_at": "2025-01-19T10:00:00Z",
"session_count": 5
}
]
}
Create Project
POST /api/projects
Content-Type: application/json
{
"name": "Project Name",
"description": "Optional description",
"color": "#3b82f6",
"is_active": true
}
Response:
{
"success": true,
"project": {
"id": "uuid",
"name": "Project Name",
"description": "Optional description",
"color": "#3b82f6",
"is_active": true,
"created_at": "2025-01-19T10:00:00Z",
"updated_at": "2025-01-19T10:00:00Z",
"session_count": 0
}
}
Get Project Details
GET /api/projects/:id
Response:
{
"success": true,
"project": {
"id": "uuid",
"name": "Project Name",
"description": "Optional description",
"color": "#3b82f6",
"is_active": true,
"created_at": "2025-01-19T10:00:00Z",
"updated_at": "2025-01-19T10:00:00Z",
"session_count": 5,
"sessions": [
{
"id": "uuid",
"name": "Session Name",
"created_at": "2025-01-19T10:00:00Z"
}
]
}
}
Update Project
PATCH /api/projects/:id
Content-Type: application/json
{
"name": "Updated Name",
"description": "Updated description",
"color": "#ef4444",
"is_active": false
}
Response:
{
"success": true,
"project": {
"id": "uuid",
"name": "Updated Name",
"description": "Updated description",
"color": "#ef4444",
"is_active": false,
"created_at": "2025-01-19T10:00:00Z",
"updated_at": "2025-01-19T11:00:00Z",
"session_count": 5
}
}
Delete Project (Soft Delete)
DELETE /api/projects/:id
Response:
{
"success": true,
"message": "Project moved to recycle bin"
}
Restore Project
POST /api/projects/:id/restore
Response:
{
"success": true,
"project": {
"id": "uuid",
"name": "Project Name",
"description": "Optional description",
"color": "#3b82f6",
"is_active": true,
"created_at": "2025-01-19T10:00:00Z",
"updated_at": "2025-01-19T11:00:00Z",
"session_count": 0
}
}
Permanently Delete Project
DELETE /api/projects/:id/permanent
Response:
{
"success": true,
"message": "Project permanently deleted"
}
Sessions API (Project-Related)
Move Session to Project
PATCH /api/sessions/:sessionId/project
Content-Type: application/json
{
"project_id": "uuid" // or null for "no project"
}
Response:
{
"success": true,
"session": {
"id": "uuid",
"name": "Session Name",
"project_id": "uuid",
"project_name": "Project Name"
}
}
Get Project Suggestions
GET /api/projects/suggestions
Response:
{
"success": true,
"suggestions": [
"Client Work",
"Research",
"Personal Notes"
]
}
Smart Suggestions
The Smart Suggestions feature uses AI to analyze your workspace and suggest relevant project names. This helps you quickly create projects that match your workflow.
How It Works
- Content Analysis: The system scans your session names, content, and existing projects
- Pattern Recognition: Identifies common themes, topics, and categories
- AI Generation: Uses language models to generate relevant project name suggestions
- Smart Filtering: Excludes names already in use and generic terms
Using Suggestions
- Navigate to
/projects - Click the "Suggestions" button (✨ icon)
- Browse the list of suggested project names
- Click "Use" next to any suggestion to create a project with that name
- The new project is created immediately with default settings
Suggestion Types
- Topic-Based: E.g., "Research Notes", "Meeting Minutes"
- Client-Based: E.g., "Client: Acme Corp", "Project: Website Redesign"
- Time-Based: E.g., "Q1 Planning", "Monthly Review"
- Workflow-Based: E.g., "Drafts", "In Progress", "Completed"
Customizing Suggestions
After creating a project from a suggestion:
- Click "Edit" on the project card
- Modify the name, description, color, or status
- Click "Save Changes"
Tips and Best Practices
Organization Strategies
- By Client: Create projects for each client or customer
- By Topic: Group sessions by subject area (e.g., Research, Ideas, Tasks)
- By Time: Use projects for time-based organization (e.g., Q1 2025, January)
- By Status: Create workflow projects (Drafts, In Progress, Review, Done)
Active vs. Inactive Projects
- Keep active projects minimal: Only mark projects as active when you're currently working on them
- Use inactive for archival: Mark completed projects as inactive to reduce clutter
- Automatic assignment: Only active projects are considered for automatic session assignment
Color Coding
- Red/Urgent: High-priority or deadline-driven projects
- Blue/Standard: Regular ongoing work
- Green/Completed: Finished or reference projects
- Yellow/Planning: Projects in planning or ideation phase
Session Management
- Review assignments regularly: Check that sessions are assigned to the correct projects
- Use "No Project": Keep some sessions unassigned for flexibility
- Bulk organization: Use the context menu to quickly move multiple sessions
Troubleshooting
Sessions Not Assigning Automatically
Problem: New sessions aren't being assigned to projects
Solutions:
- Check that you have at least one active project
- Verify the project wasn't just created (there may be a brief delay)
- Try manually assigning the session via the context menu
Can't Find Deleted Project
Problem: Accidentally deleted a project and can't find it
Solution:
- Navigate to
/projects - Click "Recycle Bin"
- Look for your project in the list
- Click "Restore" to recover it
Projects Not Showing on Landing Page
Problem: Projects aren't visible on the main page
Solutions:
- Verify you have created at least one project
- Check that projects aren't all soft-deleted
- Refresh the page to clear the cache
Suggestions Not Appearing
Problem: No suggestions appear when clicking the Suggestions button
Solutions:
- Ensure you have existing sessions or content in your workspace
- Wait a moment for the AI to analyze your workspace
- Try creating projects manually instead
FAQ
Q: Can a session belong to multiple projects?
A: No, each session can only belong to one project at a time. However, you can easily move sessions between projects using the context menu.
Q: What happens to sessions when I delete a project?
A: When you soft-delete a project, all its sessions become unassigned (no project). The sessions themselves are not deleted. When you restore the project, sessions remain unassigned and must be manually moved back if desired.
Q: How long are deleted projects kept?
A: Soft-deleted projects are kept in the recycle bin for 30 days before permanent deletion.
Q: Can I permanently delete a project immediately?
A: Yes, use the "Delete Permanently" button in the recycle bin. This action cannot be undone.
Q: How many projects can I create?
A: There's no hard limit on the number of projects you can create. Organize your workspace in whatever way works best for you.
Q: Do inactive projects appear in automatic assignment?
A: No, only active projects are considered when automatically assigning new sessions.
Q: Can I change a project's color after creation?
A: Yes, use the Edit button on the project card to modify the color at any time.
Support
For issues, questions, or feature requests related to the Projects feature, please refer to the main documentation or contact support.
Last Updated: January 19, 2025 Version: 1.0.0