marquesch / marquesch/wacli

Scheduled messages

Open
#5 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Go
Stars
1
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Feature: Schedule a Message for Future Delivery ⏰

User Story:

As a CLI user, I want to schedule a message to be sent at a specific date and time in the future, so I can set up reminders, birthday wishes, or other time-sensitive communications in advance and not worry about forgetting.

Acceptance Criteria:
  • Implement a CLI command schedule <recipient> "<datetime>" "<message>". The <datetime> format should be flexible but well-documented (e.g., ISO 8601).
  • The CLI client's role is to send this request to the server and exit.
  • The server (daemon) must store the scheduled message (recipient, content, delivery time).
  • The server must have an internal scheduler (e.g., a cron-like mechanism) that triggers the message send at the correct time.
  • (Optional but recommended) Scheduled jobs should be persisted to disk, so they survive a server restart.
Business Logic / Rationale:

This feature is a prime example of why the client-server architecture was chosen. It leverages the "always-on" nature of the server daemon to provide a "fire-and-forget" capability that is impossible for a simple, stateless CLI tool. It's a powerful automation feature that allows users to plan their communications, making the tool proactive rather than just reactive.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the CLI's schedule <recipient> "<datetime>" "<message>" entry point and the server daemon's request handling and storage. Confirm the datetime format and scheduler behavior, then verify that the CLI exits after sending the request and that scheduled messages are delivered; persistence across restarts is optional.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend, cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.