sonomemo 0.1.1

A context logging terminal app designed for ADHD brains.
sonomemo-0.1.1 is not a library.

sonomemo (์†Œ๋…ธ๋ฉ”๋ชจ) ๐Ÿง 

sonomemo๋Š” ADHD๋ฅผ ์œ„ํ•œ ๋ฌธ๋งฅ ๊ธฐ๋ก์šฉ ํ„ฐ๋ฏธ๋„ ์•ฑ์ž…๋‹ˆ๋‹ค.

์ œ๊ฐ€ ํ•„์š”ํ•ด์„œ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๋” ์ด์ƒ ์„œ๋ธŒ๋ผ์ž„ ํ…์ŠคํŠธ ํ”Œ๋Ÿฌ๊ทธ์ธ ์ฝ”๋“œ๋ฅผ ์งœ๋Š”๊ฑด ์งˆ๋ ธ์Šต๋‹ˆ๋‹ค. ํด๋กœ๋“œ ์ฝ”๋“œ์—์„œ ์ผ ์‹œํ‚ค๋‹ค๊ฐ€ ์•ŒํŠธ ํƒญ์„ ๋ˆ„๋ฅด๋Š”๊ฒƒ๋„ ๊ท€์ฐฎ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ œ๋ฏธ๋‚˜์ด์˜ ๋„์›€์„ ์ข€ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค ๋งŽ์ด ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.

โœจ ์™œ ๊ตณ์ด ์ด๋Ÿฐ๊ฑธ?

  • ๐Ÿง  ๋งŒ๋“  ์‚ฌ๋žŒ ๊ธฐ์–ต๋ ฅ์ด ๋ชจ์ž๋ž๋‹ˆ๋‹ค.: ๋ฉ”๋ชจ๋ฅผ ์•ˆํ•˜๋ฉด ๋ณดํ†ต ๊นŒ๋จน์Šต๋‹ˆ๋‹ค. ์•ˆ๊นŒ๋จน๋Š”๋‹ค๊ตฌ์š”? ์ข€ ๋” ์ค‘์š”ํ•œ๊ฑธ ๊ธฐ์–ตํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์ œ๊ฐ€ ์ผํ•˜๋ฉด์„œ ๋ช‡์‹œ์ฏค์— ์ด ์•„ํ‚คํ…์ฒ˜๊ฐ€ ๊ตฌ๋ฆฌ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”์ง€๊นŒ์ง€ ๊ธฐ์–ตํ•ด์•ผํ•  ํ•„์š”๋Š” ์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
  • ๐Ÿ… ๊ฐ•์ œ ํ™˜๊ธฐ (๋ฝ€๋ชจ๋„๋กœ): ๊ธฐ๋Šฅ์ด ๋ญ๊ฐ€ ๋” ํ•„์š”ํ•˜์ง€ ์‹ถ์–ด์„œ ์ œ๋ฏธ๋‚˜์ดํ•œํ…Œ ๋ฌผ์–ด๋ดค๋”๋‹ˆ ์ด๋Ÿฐ๊ฑธ ์ œ์•ˆํ–ˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค ๊ทธ๋ƒฅ ์žฅ๋‚œ๊ฐ ์šฉ๋„๊ฐ™๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.
  • ๐ŸŒฑ ์‹œ๊ฐ์  ํ”ผ๋“œ๋ฐฑ: ๊นƒํ—ˆ๋ธŒ์˜ ์ž”๋””๋ฐญ ๋น„์Šทํ•œ๊ฑธ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๐Ÿ“ ๋งˆํฌ๋‹ค์šด ๊ธฐ๋ฐ˜: ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋Š” YYYY-MM-DD.md ํ˜•์‹์˜ ๋กœ์ปฌ ํ…์ŠคํŠธ ํŒŒ์ผ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์‹ค ๋งˆํฌ๋‹ค์šด์ผ ํ•„์š”๊ฐ€ ์žˆ๋Š”์ง„ ๋ชจ๋ฅด๊ฒ ์–ด์š”. ์ œ๋ฏธ๋‚˜์ด๊ฐ€ ๊ทธ๋ ‡๊ฒŒ ์งœ๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค.
  • โœ… ํ•  ์ผ ๋ฐ ํƒœ๊ทธ: - [ ] ๋ฌธ๋ฒ•์œผ๋กœ ํ•  ์ผ ์ž๋™ ์ธ์‹, #ํƒœ๊ทธ๋กœ ๋ถ„๋ฅ˜. ํ•„์š”ํ•˜๋ฉด ์ ๋‹นํžˆ ๊ฒ€์ƒ‰ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒŒ ์ œ์ผ ์ข‹์€๋“ฏ.

์ดํ•˜ ๋‚ด์šฉ์€ ์ „๋ถ€ ์ œ๋ฏธ๋‚˜์ด๊ฐ€ ์ ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ƒฅ ์Šฅ ๋ณด๊ณ  ์ž˜ ์ผ๋„ค ์‹ถ์–ด์„œ ๋„ฃ์–ด๋†จ์Šต๋‹ˆ๋‹ค. ์„ค๋ช…์ด ๋ถ€์กฑํ•˜๋‹ค๋ฉด ์ด์Šˆ๋กœ ์˜ฌ๋ ค์ฃผ์„ธ์š”. ๊ทธ๋Œ€๋กœ ์ œ๋ฏธ๋‚˜์ด์— ๋„˜๊ธฐ๊ฒ ์Šต๋‹ˆ๋‹ค.

๐Ÿ—บ๏ธ ์‚ฌ์šฉ ๊ฐ€์ด๋“œ (App Flow)

Sonomemo๋Š” ํ‚ค๋ณด๋“œ ์ค‘์‹ฌ์˜ 3๊ฐ€์ง€ ํ•ต์‹ฌ ๋ชจ๋“œ๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.

graph TD
    Start((Start)) --> Editing["๐Ÿ“ Editing Mode<br/>(์ž…๋ ฅ ๋ชจ๋“œ)"]
    
    subgraph Main Loop
        Navigate["๐Ÿงญ Navigate Mode<br/>(ํƒ์ƒ‰ & ๊ธฐ๋Šฅ ๋ชจ๋“œ)"]
        Editing
        Search["๐Ÿ” Search Mode<br/>(๊ฒ€์ƒ‰ ๋ชจ๋“œ)"]
    end

    subgraph Popups
        Pomodoro["๐Ÿ… Pomodoro"]
        Graph["๐Ÿ“Š Activity Graph"]
        Tag["๐Ÿท๏ธ Tag Filter"]
        Mood["๐ŸŽญ Mood Tracker"]
    end

    %% Transitions
    Editing -->|Esc| Navigate
    Navigate -->|i| Editing
    Navigate -->|?| Search
    
    Search -->|Enter| SearchResult["Result View"]
    SearchResult -->|Esc| Search
    Search -->|Esc| Navigate
    
    %% Popup Triggers
    Navigate -->|p| Pomodoro
    Navigate -->|g| Graph
    Navigate -->|t| Tag
    
    %% Popup Exits
    Pomodoro -->|Esc/Enter| Navigate
    Graph -->|Any Key| Navigate
    Tag -->|Esc/Enter| Navigate
    Mood -->|Enter| Navigate
    
    %% Initial Flow
    Start -.-> Mood

1. ๐Ÿ“ Editing Mode (์ž…๋ ฅ ๋ชจ๋“œ)

"์ƒ๊ฐ๋‚˜๋Š” ๊ฒƒ์„ ๋ฐ”๋กœ ์ ์œผ์„ธ์š”"

  • ์•ฑ์„ ์ผœ์ž๋งˆ์ž ๋งŒ๋‚˜๋Š” ํ™”๋ฉด์ž…๋‹ˆ๋‹ค.
  • Enter: ๋ฉ”๋ชจ ์ €์žฅ
  • Shift + Enter: ์ค„๋ฐ”๊ฟˆ (๋ฉ€ํ‹ฐ๋ผ์ธ ์ž…๋ ฅ)
  • Esc: Navigate ๋ชจ๋“œ๋กœ ์ „ํ™˜

2. ๐Ÿงญ Navigate Mode (ํƒ์ƒ‰ ๋ชจ๋“œ)

"๊ธฐ๋ก์„ ํ›‘์–ด๋ณด๊ณ  ๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•˜์„ธ์š”"

  • ํ™”์‚ดํ‘œ ํ‚ค(โ†‘, โ†“)๋กœ ์ด์ „ ๊ธฐ๋ก์„ ์Šคํฌ๋กคํ•ฉ๋‹ˆ๋‹ค.
  • i: ๋‹ค์‹œ ์ž…๋ ฅ ๋ชจ๋“œ๋กœ ์ „ํ™˜
  • ?: ๊ฒ€์ƒ‰ ๋ชจ๋“œ ์ง„์ž…
  • t: ํƒœ๊ทธ๋ณ„๋กœ ๋ชจ์•„๋ณด๊ธฐ
  • p: ๋ฝ€๋ชจ๋„๋กœ ํƒ€์ด๋จธ ์„ค์ • (25๋ถ„ ๋“ฑ)
  • g: ํ™œ๋™ ๊ทธ๋ž˜ํ”„ ํ™•์ธ

3. ๐Ÿ” Search Mode (๊ฒ€์ƒ‰ ๋ชจ๋“œ)

  • ๊ฒ€์ƒ‰์–ด๋ฅผ ์ž…๋ ฅํ•˜๊ณ  Enter๋ฅผ ๋ˆ„๋ฅด๋ฉด ํ•ด๋‹น ๋‹จ์–ด๊ฐ€ ํฌํ•จ๋œ ๋ฉ”๋ชจ๋งŒ ํ•„ํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค.
  • Esc: ๊ฒ€์ƒ‰ ์ทจ์†Œ ๋ฐ Navigate ๋ชจ๋“œ ๋ณต๊ท€

๐Ÿš€ ์„ค์น˜ ๋ฐฉ๋ฒ•

Crates.io๋ฅผ ํ†ตํ•œ ์„ค์น˜ (์ถ”์ฒœ)

Rust๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ๋‹ค๋ฉด ๊ฐ€์žฅ ๊ฐ„ํŽธํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

cargo install sonomemo

์ง์ ‘ ๋นŒ๋“œ

git clone https://github.com/sonohoshi/sonomemo.git

cd sonomemo

cargo install --path .

โŒจ๏ธ ๋‹จ์ถ•ํ‚ค ์š”์•ฝ

ํ‚ค ๋™์ž‘ (Navigate ๋ชจ๋“œ ๊ธฐ์ค€)
i ์ž…๋ ฅ ๋ชจ๋“œ ์ „ํ™˜ (๋ฉ”๋ชจ ์ž‘์„ฑ)
? ๊ฒ€์ƒ‰ ๋ชจ๋“œ ์ง„์ž…
t ํƒœ๊ทธ ํ•„ํ„ฐ๋ง
p ๋ฝ€๋ชจ๋„๋กœ ํƒ€์ด๋จธ ์„ค์ •/ํ•ด์ œ
g ํ™œ๋™ ๊ทธ๋ž˜ํ”„(์ž”๋””) ํ™•์ธ
q ์•ฑ ์ข…๋ฃŒ

โš™๏ธ ์„ค์ • (Configuration) (Optional)

Sonomemo๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ํ…์ŠคํŠธ ์„ค์ •์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์‹คํ–‰ ํŒŒ์ผ์ด ์žˆ๋Š” ๊ฒฝ๋กœ์— config.toml ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜์—ฌ ์•ˆ๋‚ด ๋ฌธ๊ตฌ(Placeholder)์™€ ๋„์›€๋ง์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

config.toml ์˜ˆ์‹œ:

# Sonomemo Configuration



[placeholders]

navigate = "ํ‚ค๋ฅผ ๋ˆŒ๋Ÿฌ ๊ฐ์ข… ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์„ธ์š”..."

editing = "์—ฌ๊ธฐ์— ๋ฉ”๋ชจ๋ฅผ ์ž…๋ ฅํ• ๊นŒ๋ง๊นŒ"

search = "๊ฒ€์ƒ‰ํ•˜๊ธฐ << ์—”ํ„ฐ๋ฅผ ๋ˆ„๋ฅด์ƒˆ์š”"



[help]

navigate = " [i] ์ž…๋ ฅ [t] ํƒœ๊ทธ [p] ๋ฝ€๋ชจ๋„๋กœ [g] ๊ทธ๋ž˜ํ”„ [q] ์ข…๋ฃŒ "

editing = " [Esc] ๋‚˜๊ฐ€๊ธฐ [Enter] ์ €์žฅ [Shift+Enter] ์ค„๋ฐ”๊ฟˆ "

search = " [Esc] ์ทจ์†Œ [Enter] ํ•„ํ„ฐ ์ ์šฉ "

๐Ÿ› ๏ธ ๊ธฐ์—ฌํ•˜๊ธฐ (Contributing)

์•Œ์•„์„œ ์ž˜ ํ•ด์ฃผ์‹œ๋ฉด ์ œ๋ฏธ๋‚˜์ดํ•œํ…Œ ๋„˜๊ธฐ๊ฒ ์Šต๋‹ˆ๋‹ค.

๐Ÿ“„ ๋ผ์ด์„ ์Šค

MIT License (LICENSE ํŒŒ์ผ์„ ํ™•์ธํ•˜์„ธ์š”)