mirror of
https://github.com/firstsun-dev/git-files-sync.git
synced 2026-07-22 17:20:30 +00:00
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 <noreply@anthropic.com>
This commit is contained in:
parent
49f16c6a2b
commit
aa441bcb38
1 changed files with 1 additions and 24 deletions
25
CLAUDE.md
25
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.
|
||||
- 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.
|
||||
Loading…
Reference in a new issue