원클릭으로
frename
frename에는 Zelenov에서 수집한 skills 17개가 있으며, 저장소 수준 직업 범위와 사이트 내 skill 상세 페이지를 제공합니다.
이 저장소의 skills
Create or update a release version entry in version.md. Use when drafting a new version, cutting a release, or when the user asks to create or update release notes.
Application overview for frename. Use when: orienting to the project for the first time, deciding which crate or module to touch, understanding what the app does end-to-end, looking up where a concept lives (tags, files, ordering, colors), or understanding keyboard shortcuts and the tag/file lifecycle.
Core development guide for frename-core. Use when: adding or changing traits (StoredTagStore, AppStateStore), modifying TagList logic, working with OrderedCollection, adding Tag fields, changing FileSnapshot/FileTagger, writing core tests, or adding database schema/migrations.
Image preview implementation guide for frename. Use when: adding or changing the media_viewer feature, working with FileKind classification, changing how FolderWorkspace opens files, adding JPEG or HEIC/HEIF decoding, understanding the no-unload path for images, or moving video_player into media_viewer.
UI + core combination guide for frename. Use when: wiring a new feature that spans both UI state and core data, deciding where logic lives (core vs UI), connecting a new message to a core operation, changing how file workspace or folder workspace coordinates with TagList or AppDatabase, or understanding the data flow between a user action and disk write.
Undo/redo implementation guide for frename. Use when: implementing the undo infrastructure in frename-core, adding a new undoable command, wiring Ctrl+Z/Ctrl+Y in the UI, or understanding how History, UndoContext, and commands interact.
UI development guide for frename. Use when: adding or changing a view, adding a new feature panel, creating or modifying a widget, changing layout constants, adding a new message to a feature, or working with styling, drag-drop, BoundsReporter, scrolling, or the search bar.
Iced GUI framework Elm architecture patterns for Rust. Feature-based code organization, message flow, Task::done dispatch, core/UI separation, snapshots, deferred side effects, subscriptions, component independence. Persistence and app state: database initialization only in main.rs; transient store (no singleton, no factory); Directory generic over store; store only in constructor; call store.get_last_session from workspace; on folder load failure keep previous state. Solved patterns: keyboard→app→workspace→feature message chain, selectable rows with one parent background (hover/delete without breaking layout), consolidated styles in theme.rs, delete+hover list UX, selection styling (widget outline + row background, same accent family, vertical centering in cells). Use when building iced UI features, adding messages, creating views, wiring components, organizing iced code, implementing persistence/session, row layout, or selection styling.
Master Rust async/await with Tokio. Use when implementing async operations, spawning tasks, using channels, or handling timeouts.
Master Cargo, testing, and Rust development tools. Use when configuring Cargo.toml, setting up workspaces, build profiles, or development tooling.
Master Rust concurrency - threads, channels, and parallel iterators. Use when implementing multi-threading, synchronization, or parallel processing.
Master Rust's Result, Option, and error handling patterns. Use when implementing error types, propagation with ?, or choosing between thiserror and anyhow.
Master Rust's ownership, borrowing, and lifetime system. Use when working with move semantics, references, lifetimes, or memory safety patterns.
Master Rust performance - profiling, benchmarking, and optimization. Use when optimizing code, reducing allocations, or benchmarking.
Master Rust testing - unit tests, integration tests, mocking, and TDD. Use when writing tests, setting up test infrastructure, or choosing testing strategies.
Master Rust traits, generics, and type system. Use when defining traits, generic functions/structs, trait objects, associated types, or operator overloading.
Generate a changelog entry in HISTORY.md from git changes. Use when user requests changelog, version update, or history entry.