Skip to content

Add Rask commands - #167

Open
nichikaX27 wants to merge 117 commits into
nomlab:masterfrom
nichikaX27:master
Open

nichikaX27 wants to merge 117 commits into
nomlab:masterfrom
nichikaX27:master

Conversation

@nichikaX27

Copy link
Copy Markdown

概要

追加機能

RaskDriver を追加した.
また RaskDriver を利用し,以下の4つのコマンドを追加した.

  • homework (阿保)
  • minutes_uploader (池田)
  • rtask_to_gc (中畑)
  • task_reminder (濱崎)

RaskDriver

機能

Rask の CLI である rask-cli を swimmy から呼び出し,Rask のタスク・文書・ユーザ・プロジェクトを取得したり,タスクを作成したりできる.
クラスメソッドだけで構成しているため,インスタンスを作らずに以下のように呼び出せる.

Swimmy::Service::Rask.task_list("john")
Swimmy::Service::Rask.document_list(content: ["第539回New検討打合せ議事録"])

詳細は docs/rask_cli_driver.md に記載した.

該当ファイル

  • lib/swimmy/service/rask.rb
  • lib/swimmy/resource/document.rb
  • lib/swimmy/resource/task.rb
  • lib/swimmy/resource/user.rb
  • lib/swimmy/resource/project.rb
  • lib/swimmy/resource/id_name.rb
  • docs/rask_cli_driver.md
  • spec/rask_spec.rb

homework コマンド

機能

Rask に登録された議事録から宿題(アクションアイテム)を抽出し,担当者ごとにタスク作成用のリンクを表示する.

使用方法

swimmy homework <文書名> と入力すると,<文書名>に一致する Rask の文書から宿題を抽出し,担当者名と宿題番号をタスク作成用のリンクとして表示する.
各リンクを開くと,Rask のタスク作成画面が,説明欄に元の議事録の該当の宿題へのリンクを記入した状態で開く.

議事録中の宿題は,以下の形式で記述されたものを抽出する.

-->(<担当者名> !:<AI番号>)

<文書名>を指定しなかった場合は使用方法を,宿題が見つからなかった場合はその旨を表示する.

特徴

Rask の CLI(rask-cli)を呼び出す Swimmy::Service::Rask を通じて文書を取得している.

該当ファイル

  • lib/swimmy/command/homework.rb
  • lib/swimmy/service/homework.rb
  • lib/swimmy/resource/homework.rb

minutes_uploader コマンド

機能

実行した日に New, GN 少なくとも一方の検討打合せの予定がカレンダに登録されている場合,その検討打合せで使用する前回の議事録のページ URL と議事録作成のページの URL をアップロードする.

使用方法

swimmy minutes_uploader と入力する.

特徴

rask-cli を利用して,rask の文書データを取得している.

該当ファイル

  • lib/swimmy/command/minutes_uploader.rb
  • lib/swimmy/service/calendar_gateway.rb
  • lib/swimmy/service/meeting_event_selector.rb
  • lib/swimmy/service/minutes_selector.rb
  • lib/swimmy/resource/meeting_event.rb
  • lib/swimmy/resource/minutes.rb

rtask_to_gc コマンド

機能

Rask に登録されている当月分のタスクを Google カレンダに追加する.

使用方法

swimmy rtask_to_gc と入力する.

特徴

rask-cli を利用して,rask のタスクデータを取得している.

該当ファイル

./lib/swimmy/command/rtask_to_gc.rb
./lib/swimmy/service/rtask_to_gc.rb
./lib/swimmy/resource/this_month.rb
./lib/swimmy/resource/calender_service.rb

task_reminder コマンド

機能

コマンドを実行した人のタスクを一覧表示する.

使用方法

swimmy task_reminder と入力する.

特徴

rask-cli を利用して,rask のタスクデータを取得している.

該当ファイル

  • lib/swimmy/command/task_reminder.rb
  • lib/swimmy/resource/task_reminder.rb

nichikaX27 and others added 30 commits April 9, 2026 13:34
- execute rask-cli command "task list"
- show tasks within the next week
 to use date from one week ago and improve result handling
search documents by keywords instead of date
 extract and display AI task details with links
  improved error handling and debugging output
nakahata0523 and others added 30 commits September 28, 2026 14:25
Delete google_calendar_gateway.rb
Refactor task_reminder.rb to use rask_cli_driver.rb
# Conflicts:
#	lib/swimmy/service.rb
# Conflicts:
#	lib/swimmy/command/base.rb
#	lib/swimmy/service.rb
Solve Conflict and Rename Rask
- Gemfile.lock: restore nomlab/swimmy's lockfile and re-resolve only the
  rspotify dependencies required by the Gemfile (the previous lockfile
  pinned http-cookie 1.1.4 and had inconsistent version_gem constraints)
- exe/swimmy: re-enable MQTT client initialization
- app.rb: re-enable spreadsheet initialization
- calendar_service.rb: drop a stray comment line
- log.txt: remove empty file

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Task: allow due_at to be nil, and make url's argument optional so the
  plain reader still works
- TaskList: convert the Time due_at with to_datetime instead of
  DateTime.parse, and show tasks without a due date
- task_reminder command: do not return before posting "no tasks" message
- resource.rb: remove autoloads for deleted rtask/rtask_to_gc resources

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Keep the lockfile identical to nomlab/swimmy so the Rask changes do not
carry unrelated dependency updates. The missing rspotify entries in the
upstream lockfile should be fixed in a separate pull request.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refacftor task_reminder.rb to use rask.rb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants