Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .env.local.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Example local development configuration
# Copy this file to .env.local and update with your paths

# Path to your Obsidian vault's plugin folder
# Windows example:
OBSIDIAN_PLUGIN_PATH=C:\Users\YourUsername\YourVault\.obsidian\plugins\obsidian-task-genius-cjw

# macOS/Linux example:
# OBSIDIAN_PLUGIN_PATH=/Users/YourUsername/YourVault/.obsidian/plugins/obsidian-task-genius-cjw
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ package-lock.json

# env
.env
.env.local

# translations
translation-templates
Expand All @@ -46,3 +47,9 @@ dist/*
# Documentation site (separate repository)
docs-site

# Compiled JavaScript files (keep only TypeScript sources)
# Exception: keep JS files without corresponding TS files
src/**/*.js
!src/__mocks__/moment.js
!src/__mocks__/styleMock.js

50 changes: 50 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,56 @@

All notable changes to this project will be documented in this file.

## [1.0.1] (Unreleased)

### Features

* **fluent:** add "Choose Project" context menu option to assign projects to tasks
- Right-click context menu now includes project assignment
- Displays submenu with all existing projects sorted alphabetically
- Includes "No Project" option to clear project assignment
- Shows checkmarks indicating currently assigned project
- Implemented across all view types (FluentActionHandlers, TaskView, TaskBasesView)

* **fluent:** relocate search and filter controls to left sidebar
- Move saved filter dropdown and search field from top navigation to sidebar
- Reorganize sidebar into logical sections: filter → search → projects → resize handle → views
- Filters now available globally across all views (Tags, Events, etc.)
- Support both workspace side leaves and non-side-leaves modes

* **dev:** add auto-deployment development workflow
- Set up automatic deployment to Obsidian vault during development
- Add `.env.local.example` template for configuration
- Update build configuration to support auto-deployment
- Improve developer experience with hot reload

### Improvements

* **fluent:** enhance sidebar layout and organization
- Better visual hierarchy with clear section separation
- Improved resizable project list
- Enhanced workspace selector integration

* **build:** modernize build and test infrastructure
- Update esbuild configuration for better performance
- Add comprehensive test suite with 1421 tests
- Improve mock infrastructure for testing

* **docs:** update development documentation
- Add auto-deployment setup instructions
- Clarify development workflow
- Update repository URLs and paths

### Bug Fixes

* **fluent:** improve UI/UX for project filtering and tree view
* **fluent:** prevent project list from overlapping other views in sidebar
* **settings:** enhance navigation, filters, and notifications

### Documentation

* Add comprehensive auto-deployment setup guide to DEVELOPMENT.md
* Translate Chinese comments to English for better code maintainability

## [9.8.14](https://github.com/Quorafind/Obsidian-Task-Genius/compare/9.8.13...9.8.14) (2025-09-19)

Expand Down
40 changes: 40 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Claude Instructions for This Repository

## ⚠️ CRITICAL: DO NOT CREATE PULL REQUESTS TO UPSTREAM

This is a personal fork (`chrisweis/Obsidian-Task-Genius-CJW`) of `Quorafind/Obsidian-Task-Genius`.

**NEVER create pull requests to the upstream repository.**

### Workflow Preference

**Always use pull requests within this fork** - do not commit directly to master.

### Build and Deployment

**Always build the plugin after changes:**
- Run `npm run build` to compile the plugin
- The build automatically deploys to Obsidian folder (configured in `.env.local`)
- Ensure `.env.local` has `OBSIDIAN_PLUGIN_PATH` set correctly

### Rules

1. **NEVER** create pull requests to `Quorafind/Obsidian-Task-Genius`
2. **ALWAYS** create PRs within this fork using: `gh pr create --repo chrisweis/Obsidian-Task-Genius-CJW`
3. Create feature branches for changes, then PR to master within the fork
4. **ALWAYS** run `npm run build` after making changes to deploy to Obsidian

### Correct Workflow

```bash
# ✅ CORRECT: Create PR within your fork
git checkout -b feature/my-feature
git add .
git commit -m "message"
npm run build # Deploy to Obsidian folder
git push origin feature/my-feature
gh pr create --repo chrisweis/Obsidian-Task-Genius-CJW --base master

# ❌ WRONG: Do not create PRs to upstream
gh pr create # This defaults to upstream - DON'T USE
```
50 changes: 43 additions & 7 deletions DEVELOPMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,54 @@
### Initial Setup

```bash
# Clone the repository into your Obsidian vault's plugin folder
cd {YOUR_OBSIDIAN_VAULT_PATH}/.obsidian/plugins
git clone https://github.com/Quorafind/Obsidian-Task-Genius.git
cd Obsidian-Task-Genius
# Clone the repository
git clone https://github.com/chrisweis/Obsidian-Task-Genius-CJW.git
cd Obsidian-Task-Genius-CJW

# Install dependencies
pnpm install
npm install

# Start development with hot reload
pnpm run dev
# Set up auto-deployment (optional but recommended)
cp .env.local.example .env.local
# Edit .env.local and set your OBSIDIAN_PLUGIN_PATH

# Start development with hot reload and auto-deployment
npm run dev
```

### Auto-Deployment Setup (Recommended)

For the best development experience, set up automatic deployment to your Obsidian vault:

1. **Create `.env.local` file** (already in .gitignore):
```bash
cp .env.local.example .env.local
```

2. **Configure your plugin path** in `.env.local`:
```env
# Windows
OBSIDIAN_PLUGIN_PATH=C:\Users\YourUsername\YourVault\.obsidian\plugins\obsidian-task-genius-cjw

# macOS/Linux
# OBSIDIAN_PLUGIN_PATH=/Users/YourUsername/YourVault/.obsidian/plugins/obsidian-task-genius-cjw
```

3. **Start development mode**:
```bash
npm run dev
```

**What happens:**
- ✅ Watches for file changes
- ✅ Rebuilds automatically on save
- ✅ Deploys `main.js`, `styles.css`, and `manifest.json` to your Obsidian plugin folder
- ✅ Includes sourcemaps for debugging

**Reload plugin in Obsidian:**
- Press `Ctrl/Cmd + R` to reload Obsidian (without saving)
- Or install [Hot Reload](https://github.com/pjeby/hot-reload) plugin for automatic reloading

### Quick Start Checklist

- [ ] Fork the repository
Expand Down
Loading
Loading