# x-periko/anchor-tasking-management-cli architecture

> Architecture diagram of the GitHub repository x-periko/anchor-tasking-management-cli, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/x-periko/anchor-tasking-management-cli
- Repository: https://github.com/x-periko/anchor-tasking-management-cli

## Overview

Anchor is a task-management CLI that authenticates users and manages tasks through a remote API. Its main workflow is user command → authenticated task operation → server response; when selected task mutations cannot connect, they are queued for later sync. The README provides no capability detail, so the workflow is based on the sampled CLI source. The CLI excerpt is partial, and the server implementation is not present in the tree.

Main entry points: [`src/anchor_tasking_management_cli/anchor.py`](https://github.com/x-periko/anchor-tasking-management-cli/blob/main/src/anchor_tasking_management_cli/anchor.py) (Anchor commands), [`src/anchor_tasking_management_cli/session.py`](https://github.com/x-periko/anchor-tasking-management-cli/blob/main/src/anchor_tasking_management_cli/session.py) (Session file), [`src/anchor_tasking_management_cli/qeue.py`](https://github.com/x-periko/anchor-tasking-management-cli/blob/main/src/anchor_tasking_management_cli/qeue.py) (Offline queue)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_cli["CLI entry"]
  node_app["Anchor commands<br/>[anchor.py]"]
end

subgraph group_tasks["Task workflows"]
  node_auth["Signup and login<br/>[anchor.py]"]
  node_add["Add task<br/>[anchor.py]"]
  node_listing["List tasks<br/>[anchor.py]"]
  node_edit["Edit task<br/>[anchor.py]"]
  node_delete["Delete task<br/>[anchor.py]"]
  node_check["Check task<br/>[anchor.py]"]
  node_progress["Task progress<br/>[anchor.py]"]
  node_sync["Queue sync<br/>[anchor.py]"]
end

subgraph group_state["Local state"]
  node_session[("Session file<br/>[session.py]")]
  node_queue[("Offline queue<br/>[qeue.py]")]
end

subgraph group_remote["Remote service"]
  node_api{{"Task API"}}
end

node_user(("User"))

node_user -->|"runs commands"| node_app
node_app -->|"dispatches"| node_auth
node_app -->|"dispatches"| node_add
node_app -->|"dispatches"| node_listing
node_app -->|"dispatches"| node_edit
node_app -->|"dispatches"| node_delete
node_app -->|"dispatches"| node_check
node_app -->|"dispatches"| node_progress
node_app -->|"dispatches"| node_sync
node_auth -->|"sends requests"| node_api
node_auth -->|"saves session"| node_session
node_add -->|"reads token"| node_session
node_add -->|"sends request"| node_api
node_add -->|"queues offline"| node_queue
node_listing -->|"reads token"| node_session
node_listing -->|"fetches tasks"| node_api
node_edit -->|"reads token"| node_session
node_edit -->|"fetches and edits"| node_api
node_delete -->|"reads token"| node_session
node_delete -->|"sends request"| node_api
node_delete -->|"queues offline"| node_queue
node_check -->|"reads token"| node_session
node_check -->|"sends request"| node_api
node_check -->|"queues offline"| node_queue
node_progress -->|"reads token"| node_session
node_progress -->|"fetches tasks"| node_api
node_sync -->|"reads token"| node_session
node_sync -->|"loads and saves"| node_queue
node_sync -->|"replays requests"| node_api

click node_app "https://github.com/x-periko/anchor-tasking-management-cli/blob/main/src/anchor_tasking_management_cli/anchor.py"
click node_auth "https://github.com/x-periko/anchor-tasking-management-cli/blob/main/src/anchor_tasking_management_cli/anchor.py"
click node_add "https://github.com/x-periko/anchor-tasking-management-cli/blob/main/src/anchor_tasking_management_cli/anchor.py"
click node_listing "https://github.com/x-periko/anchor-tasking-management-cli/blob/main/src/anchor_tasking_management_cli/anchor.py"
click node_edit "https://github.com/x-periko/anchor-tasking-management-cli/blob/main/src/anchor_tasking_management_cli/anchor.py"
click node_delete "https://github.com/x-periko/anchor-tasking-management-cli/blob/main/src/anchor_tasking_management_cli/anchor.py"
click node_check "https://github.com/x-periko/anchor-tasking-management-cli/blob/main/src/anchor_tasking_management_cli/anchor.py"
click node_progress "https://github.com/x-periko/anchor-tasking-management-cli/blob/main/src/anchor_tasking_management_cli/anchor.py"
click node_sync "https://github.com/x-periko/anchor-tasking-management-cli/blob/main/src/anchor_tasking_management_cli/anchor.py"
click node_session "https://github.com/x-periko/anchor-tasking-management-cli/blob/main/src/anchor_tasking_management_cli/session.py"
click node_queue "https://github.com/x-periko/anchor-tasking-management-cli/blob/main/src/anchor_tasking_management_cli/qeue.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_app,node_user toneBlue
class node_auth,node_add,node_listing,node_edit,node_delete,node_check,node_progress,node_sync toneAmber
class node_session,node_queue toneMint
class node_api toneRose
```

## Components

### CLI entry

- [Anchor commands](https://github.com/x-periko/anchor-tasking-management-cli/blob/main/src/anchor_tasking_management_cli/anchor.py): `src/anchor_tasking_management_cli/anchor.py`

### Task workflows

- [Signup and login](https://github.com/x-periko/anchor-tasking-management-cli/blob/main/src/anchor_tasking_management_cli/anchor.py): `src/anchor_tasking_management_cli/anchor.py`
- [Add task](https://github.com/x-periko/anchor-tasking-management-cli/blob/main/src/anchor_tasking_management_cli/anchor.py): `src/anchor_tasking_management_cli/anchor.py`
- [List tasks](https://github.com/x-periko/anchor-tasking-management-cli/blob/main/src/anchor_tasking_management_cli/anchor.py): `src/anchor_tasking_management_cli/anchor.py`
- [Edit task](https://github.com/x-periko/anchor-tasking-management-cli/blob/main/src/anchor_tasking_management_cli/anchor.py): `src/anchor_tasking_management_cli/anchor.py`
- [Delete task](https://github.com/x-periko/anchor-tasking-management-cli/blob/main/src/anchor_tasking_management_cli/anchor.py): `src/anchor_tasking_management_cli/anchor.py`
- [Check task](https://github.com/x-periko/anchor-tasking-management-cli/blob/main/src/anchor_tasking_management_cli/anchor.py): `src/anchor_tasking_management_cli/anchor.py`
- [Task progress](https://github.com/x-periko/anchor-tasking-management-cli/blob/main/src/anchor_tasking_management_cli/anchor.py): `src/anchor_tasking_management_cli/anchor.py`
- [Queue sync](https://github.com/x-periko/anchor-tasking-management-cli/blob/main/src/anchor_tasking_management_cli/anchor.py): `src/anchor_tasking_management_cli/anchor.py`

### Local state

- [Session file](https://github.com/x-periko/anchor-tasking-management-cli/blob/main/src/anchor_tasking_management_cli/session.py): `src/anchor_tasking_management_cli/session.py`
- [Offline queue](https://github.com/x-periko/anchor-tasking-management-cli/blob/main/src/anchor_tasking_management_cli/qeue.py): `src/anchor_tasking_management_cli/qeue.py`

### Remote service

- **Task API**

### Other components

- **User**

## Connections

- User → Anchor commands: runs commands
- Anchor commands → Signup and login: dispatches
- Anchor commands → Add task: dispatches
- Anchor commands → List tasks: dispatches
- Anchor commands → Edit task: dispatches
- Anchor commands → Delete task: dispatches
- Anchor commands → Check task: dispatches
- Anchor commands → Task progress: dispatches
- Anchor commands → Queue sync: dispatches
- Signup and login → Task API: sends requests
- Signup and login → Session file: saves session
- Add task → Session file: reads token
- Add task → Task API: sends request
- Add task → Offline queue: queues offline
- List tasks → Session file: reads token
- List tasks → Task API: fetches tasks
- Edit task → Session file: reads token
- Edit task → Task API: fetches and edits
- Delete task → Session file: reads token
- Delete task → Task API: sends request
- Delete task → Offline queue: queues offline
- Check task → Session file: reads token
- Check task → Task API: sends request
- Check task → Offline queue: queues offline
- Task progress → Session file: reads token
- Task progress → Task API: fetches tasks
- Queue sync → Session file: reads token
- Queue sync → Offline queue: loads and saves
- Queue sync → Task API: replays requests
