From aa441bcb3816341e768cb01f15cb12c078c16e13 Mon Sep 17 00:00:00 2001 From: ClaudiaFang Date: Fri, 17 Jul 2026 08:08:04 +0000 Subject: [PATCH] docs: trim derivable content from CLAUDE.md Removed Development Commands, Code Architecture, and Conventions sections -- all reconstructable from package.json's scripts block and the source tree itself. Kept Agent Workflow (not derivable, safety- critical process rules). Co-Authored-By: Claude Sonnet 5 --- CLAUDE.md | 25 +------------------------ 1 file changed, 1 insertion(+), 24 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 73d4d7c..f3fef68 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -9,27 +9,4 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co - **Definition of done**: `npx eslint .` has 0 errors, `npm run build` passes (includes the Obsidian 1.11.0 compat typecheck), and `npx vitest run` passes, *and* evidence of that run is recorded (one line: command + result) in `progress.md` or the PR description — not just claimed. - **Scope**: work one `feature_list.json` entry at a time; don't start the next until the current one's evidence is recorded. - **End of session**: overwrite `session-handoff.md` with the new stopping point, move finished items from `progress.md` into `archive/YYYY-MM.md` (current month). -- Issue/PR conventions (Conventional Commits titles, Project #6 fields, English-only for this public plugin repo) are defined in the `firstsun-pm` skill, not duplicated here. - -## Development Commands -- Build: `npm run build` (runs type check and esbuild in production mode) -- Dev: `npm run dev` (builds in watch mode using esbuild) -- Lint: `npm run lint` (runs eslint check) -- Test: `npm run test` (runs vitest suite) -- Version bump: `npm run version` (updates manifest.json and versions.json via script) - -## Code Architecture -- **Type**: Obsidian Plugin (TypeScript) that syncs vault files with a GitLab or GitHub repository. -- **Entry Point**: `src/main.ts` contains the main `GitLabFilesPush` class extending `Plugin`. -- **Settings**: `src/settings.ts` defines `GitLabFilesPushSettings` interface, `DEFAULT_SETTINGS` object, and `GitLabSyncSettingTab` for the Obsidian UI. -- **Services**: `src/services/` abstracts the git provider behind `GitServiceInterface`, with `GitHubService` and `GitLabService` implementations sharing common logic via `BaseGitService`. -- **Sync logic**: `src/logic/sync-manager.ts` handles push/pull, conflict detection, and rename detection; `src/logic/gitignore-manager.ts` merges local and remote `.gitignore` rules. -- **UI**: `src/ui/SyncStatusView.ts` renders the sync status side panel; `src/ui/components/` holds its sub-views. -- **Bundling**: Uses `esbuild.config.mjs` for compilation from TypeScript to a single `main.js` file. -- **Deployment**: Relies on `manifest.json` for plugin metadata and `versions.json` for version mapping/compatibility. - -## Conventions -- Use `this.loadData()` and `this.saveData()` for persistent settings. -- Use `this.addCommand()` for registration in the Command Palette. -- Use `this.addRibbonIcon()` for left-sidebar buttons. -- Use `this.registerDomEvent()` and `this.registerInterval()` to ensure automatic cleanup when the plugin is disabled. \ No newline at end of file +- Issue/PR conventions (Conventional Commits titles, Project #6 fields, English-only for this public plugin repo) are defined in the `firstsun-pm` skill, not duplicated here. \ No newline at end of file