You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/CLAUDE.md
+11-38Lines changed: 11 additions & 38 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,52 +1,26 @@
1
-
# CLAUDE.md
1
+
# Docs CLAUDE.md
2
2
3
-
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
3
+
Last verified: 2026-03-07
4
4
5
-
## Project Overview
5
+
## Commands
6
6
7
-
This is the documentation site for the Sync with Todoist Plugin for Obsidian. The site is built using Docusaurus and contains user guides, configuration instructions, and contributing information.
7
+
All commands run from this `docs/` directory:
8
8
9
-
## Common Commands
10
-
11
-
All commands should be run from this `docs/` directory:
12
-
13
-
### Development
14
-
15
-
-`npm start` - Start local development server (usually runs on http://localhost:3000)
9
+
-`npm start` - Start local development server
16
10
-`npm run build` - Build documentation site for production
17
11
-`npm run serve` - Serve built site locally
18
12
-`npm run clear` - Clear Docusaurus cache
19
-
20
-
### Documentation Management
21
-
22
-
-`npm run bump-version -- ${VERSION}` - Create new versioned documentation (e.g., `npm run bump-version -- 2.2.0`)
13
+
-`npm run bump-version -- ${VERSION}` - Create new versioned docs (e.g., `npm run bump-version -- 2.2.0`)
23
14
-`npm run write-translations` - Extract translatable strings
24
15
-`npm run write-heading-ids` - Add heading IDs to markdown files
25
-
26
-
### Quality
27
-
28
-
-`npm run typecheck` - Run TypeScript type checking
16
+
-`npm run typecheck` - TypeScript type checking
29
17
30
18
## Documentation Structure
31
19
32
-
### Core Documentation (`docs/`)
33
-
34
-
-`overview.md` - Main plugin introduction and features
35
-
-`setup.md` - Installation and initial configuration
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
3
+
Last verified: 2026-03-07
4
4
5
-
## Project Overview
5
+
## Commands
6
6
7
-
This is the main plugin source code for an unofficial Obsidian plugin that enables bidirectional sync between Obsidian and Todoist. The plugin allows users to view, create, and manage Todoist tasks directly within Obsidian using code blocks and modal interfaces.
7
+
All commands run from this `plugin/` directory:
8
8
9
-
## Common Commands
10
-
11
-
All commands should be run from this `plugin/` directory:
12
-
13
-
### Development
14
-
15
-
-`npm run dev` - Build plugin in development mode with type checking
16
-
-`npm run build` - Build plugin for production
17
-
-`npm run check` - Run TypeScript type checking only
18
-
19
-
### Testing and Quality
20
-
21
-
-`npm run test` - Run all tests with Vitest
9
+
-`npm run dev` - Development build with type checking
10
+
-`npm run build` - Production build
11
+
-`npm run check` - TypeScript type checking only
12
+
-`npm run test` - Run all tests (Vitest)
22
13
-`npm run test ./src/utils` - Run tests for specific directory/file
23
-
-`npm run lint:check` - Check code formatting and linting with BiomeJS
14
+
-`npm run lint:check` - Check formatting and linting (BiomeJS)
24
15
-`npm run lint:fix` - Auto-fix formatting and linting issues
25
16
26
-
## Architecture Overview
27
-
28
-
### Plugin Structure
29
-
30
-
-**Main Plugin** (`src/index.ts`): Core plugin class that initializes services, registers commands, and handles Obsidian lifecycle
31
-
-**API Layer** (`src/api/`): Todoist REST API client with domain models for tasks, projects, sections, and labels
32
-
-**Query System** (`src/query/`): Markdown code block processor that renders Todoist queries in notes
33
-
-**UI Components** (`src/ui/`): React-based user interface components including modals, settings, and task displays
34
-
-**Services** (`src/services/`): Business logic layer including token management and modal orchestration
35
-
-**Data Layer** (`src/data/`): Repository pattern for caching and managing Todoist data with transformations
-`src/services/` - Business logic (token management, modal orchestration)
25
+
-`src/commands/` - Obsidian command definitions
26
+
-`src/i18n/` - Internationalization (interface in `translation.ts`, implementations in `langs/`)
27
+
-`src/utils/` - Shared utilities
69
28
70
-
### Code Style
29
+
##Key Design Decisions
71
30
72
-
-Uses BiomeJS for formatting and linting
73
-
-2-space indentation, 100 character line width
74
-
-Automatic import organization with package/alias/path grouping
75
-
-React functional components with hooks
31
+
-**Repository pattern** (`src/data/repository.ts`): Generic caching layer that decouples UI from API fetch timing. All Todoist data flows through repositories.
32
+
-**Zustand for settings** (`src/settings.ts`): Reactive state management for plugin configuration, avoids prop drilling.
33
+
-**React Aria Components**: Accessibility-first UI primitives. Prefer these over custom interactive elements.
34
+
-**SCSS with component-scoped styles**: Each component has co-located `.scss`; supports Obsidian light/dark themes.
76
35
77
-
###Internationalization
36
+
## Internationalization
78
37
79
38
-**Always use translations for user-facing text** - never hardcode strings in UI components
80
39
- Import translations with `import { t } from "@/i18n"` and use `const i18n = t().section`
0 commit comments