Skip to main content

⚡ Richmack Workspace

 ____  ___ ____ _   _ __  __    _    ____ _  __
|  _ \|_ _/ ___| | | |  \/  |  / \  / ___| |/ /
| |_) || | |   | |_| | |\/| | / _ \| |   | ' /
|  _ < | | |___|  _  | |  | |/ ___ \ |___| . \
|_| \_\___\____|_| |_|_|  |_/_/   \_\____|_|\_\

                 W O R K S P A C E

🖥️ One terminal. Multiple applications. One workspace.

Richmack Workspace is a keyboard-first terminal application launcher and package manager for the Richmack PyPI software ecosystem.

Install, update, manage, and launch independent Richmack applications from one Textual interface.


📖 Overview

Richmack Workspace provides a central terminal interface for the growing collection of Richmack applications distributed through PyPI.

Instead of remembering multiple package names, installation commands, executable names, and environments, Workspace provides a single command:

richmack

From there, applications can be selected and managed directly from the TUI.

The goal is simple:

                    ⚡ RICHMACK WORKSPACE
                              │
             ┌────────────────┼────────────────┐
             │                │                │
         Discovery       Management        Launcher
             │                │                │
             └────────────────┼────────────────┘
                              │
                  Independent PyPI Apps
                              │
       ┌──────────┬───────────┼───────────┬──────────┐
       │          │           │           │          │
      🪄         🧠          🍯          ⚙️         📜
     Wize      Language      Pot        Exerx      Hebrew
    Wizard      Ninja      of Mannah     Eye        Study
                              │
                             ♟️
                           JinnLab

Each program remains an independent application.

Workspace does not merge the programs into one large Python package. Instead, it acts as the terminal front door to the ecosystem.


✨ Features

Richmack Workspace currently provides:

  • 🖥️ Native Textual terminal interface
  • ⌨️ Keyboard-first navigation
  • 📦 PyPI application installation
  • 🔄 Application updates
  • 🚀 Application launching
  • 🗑️ Application removal
  • 🧱 Isolated Python virtual environments
  • 🔍 Automatic console entry-point detection
  • 📊 Installed-version detection
  • 🗃️ SQLite activity history
  • 📝 Per-application package-management logs
  • 🎨 Richmack ASCII branding
  • 🧭 Persistent keyboard instructions
  • 🛡️ Dependency isolation between applications
  • 🔌 Modular application catalog
  • 🍎 macOS support
  • 🐧 Linux support

🧰 Applications

Richmack Workspace currently manages six applications.

🪄 Wize Wizard

PyPI package

wize-wizard

Wize Wizard is a strategy, planning, estimation, and project-thinking environment.

It combines structured strategic reasoning with project analysis tools while keeping each major function modular.

Core areas include:

  • 🧭 Strategy development
  • ❓ Structured Why analysis
  • 🎯 Want, Wish, and Dream reasoning
  • 🧮 PERT estimation
  • 📊 Stress and uncertainty analysis
  • 📈 Charts and project visualization
  • 💬 Communications planning
  • ✅ Desires and task management
  • 📓 Journaling
  • 📤 Export tools
  • 🎓 Course and learning components

Wize Wizard's structured strategy system uses statements such as:

As a __________,

I need to ______________________________

so that I can __________________________

because _______________________________.

The same structured format can be applied through multiple levels of reasoning.

Wize Wizard is designed to move from:

Idea
  ↓
Need
  ↓
Purpose
  ↓
Deeper Why
  ↓
Strategy
  ↓
Estimate
  ↓
Execution

🧠 Language Ninja

PyPI package

language-ninja

Language Ninja is a terminal language-analysis and training environment.

It is designed around working with language interactively rather than treating language analysis as a collection of disconnected command-line scripts.

Areas include:

  • 📝 Text analysis
  • 🧠 NLP workflows
  • 💭 Sentiment analysis
  • 📚 Language training
  • 🔎 Text inspection
  • 🗒️ Notes
  • 📤 Data export
  • ⌨️ Keyboard-first terminal interaction

Language Ninja gives language-oriented workflows their own dedicated TUI while remaining accessible directly through Richmack Workspace.


🍯 Pot of Mannah

PyPI package

pot-of-mannah

Pot of Mannah is a terminal-based nutrition and training intelligence application.

It provides a dedicated environment for working with food, nutrition, exercise, and related personal training information.

The application is designed around the same philosophy as the rest of the Richmack ecosystem:

Data
  ↓
Organization
  ↓
Analysis
  ↓
Useful terminal interface

Pot of Mannah remains an independent package while Richmack Workspace handles its installation and launch environment.


⚙️ ExerxEye

PyPI package

ExerxEye

ExerxEye is an exercise and workout intelligence TUI.

Its focus is organizing physical training into a terminal workflow that can support exercise selection, workout construction, tracking, and analysis.

Areas include:

  • 🏋️ Exercise management
  • 🔁 Repetition-based workouts
  • 🎲 Workout generation
  • 📋 Workout construction
  • 📈 Progress analysis
  • 💾 Saved workout data
  • ⌨️ Fast keyboard navigation

Exercise categories can include movements such as:

Push-ups
Pull-ups
Squats
Burpees
Jumping jacks
Mountain climbers

ExerxEye gives the Richmack ecosystem a dedicated physical-training application without coupling its dependencies to the other tools.


📜 Hebrew Fuzzy Study

PyPI package

hebrew-fuzzy-study

Hebrew Fuzzy Study is a Hebrew lexical search, Tanakh reading, and study workstation.

It combines fuzzy searching with a terminal-oriented study environment.

Major capabilities include:

  • 🔤 Hebrew lexical searching
  • 🔎 Fuzzy matching
  • 📖 Tanakh reading
  • 🧠 Study workflows
  • 📝 Annotation
  • 📚 Scholar/reference tools
  • 💾 Local study data
  • ⌨️ Keyboard-first navigation

The project is designed to make Hebrew text exploration practical from the terminal.

Rather than requiring an exact spelling for every lookup, fuzzy-search functionality can assist with finding relevant lexical material when the search input is incomplete or approximate.


♟️ JinnLab

PyPI package

jinnlab

JinnLab is a game-theory laboratory for exploring strategic interaction from the terminal.

It provides an environment for running and studying computational game-theory experiments.

Areas include:

  • ♟️ Game-theory strategy analysis
  • 🤝 Cooperation and defection
  • ⚔️ Axelrod-style matches
  • 🧬 Moran processes
  • 🏆 Strategy tournaments
  • 📊 Results analysis
  • 🔬 Experimental strategy comparison

JinnLab can be used to examine how different strategies behave across repeated interactions and changing populations.

Conceptually:

Strategy A
     │
     ▼
Repeated Interaction
     ▲
     │
Strategy B

     ↓

Scores
Survival
Cooperation
Defection
Population change

This makes JinnLab the experimental strategy laboratory within Richmack Workspace.


🏗️ Architecture

Richmack Workspace deliberately uses an isolated application architecture.

Richmack Workspace
        │
        ├── Textual UI
        │
        ├── Application Catalog
        │
        ├── Package Manager
        │
        ├── Launcher
        │
        ├── SQLite Activity Database
        │
        └── Application Environments
                │
                ├── wize-wizard/
                │      └── .venv/
                │
                ├── language-ninja/
                │      └── .venv/
                │
                ├── pot-of-mannah/
                │      └── .venv/
                │
                ├── exerxeye/
                │      └── .venv/
                │
                ├── hebrew-fuzzy-study/
                │      └── .venv/
                │
                └── jinnlab/
                       └── .venv/

🧱 Why isolated environments?

Installing every application into the same Python environment creates dependency risk.

For example:

Application A
    └── requires library==1.x

Application B
    └── requires library==2.x

A shared environment can eventually create conflicts.

Richmack Workspace instead gives each managed application its own environment:

Workspace
   │
   ├── App A → Environment A
   ├── App B → Environment B
   └── App C → Environment C

This allows individual Richmack projects to evolve independently.


📦 Installation

Install from PyPI

Once the package is available from PyPI:

python3 -m pip install richmack-workspace

Then launch:

richmack

The alternate executable is:

richmack-workspace

🍎 Development Installation on macOS

Clone the repository:

git clone git@github.com:iamrichmack111/richmack-workspace.git

Enter it:

cd richmack-workspace

Create a virtual environment:

python3 -m venv .venv

Activate it:

source .venv/bin/activate

Upgrade pip:

python -m pip install --upgrade pip

Install Workspace:

python -m pip install -e .

Launch:

richmack

🐧 Development Installation on Linux

Clone:

git clone git@github.com:iamrichmack111/richmack-workspace.git
cd richmack-workspace

Install:

chmod +x install.sh
./install.sh

Activate:

source .venv/bin/activate

Launch:

richmack

⌨️ Keyboard Controls

Richmack Workspace is designed to be usable primarily from the keyboard.

Key Action
↑ Move selection up
↓ Move selection down
ENTER Launch selected application
G Get/install selected application
U Update selected application
X Remove selected application
R Refresh Workspace
Q Quit

The controls are also displayed directly inside the Workspace interface.


📥 Installing an Application

Select an application:

🪄 Wize Wizard
🧠 Language Ninja
🍯 Pot of Mannah
⚙️ ExerxEye
📜 Hebrew Fuzzy Study
♟️ JinnLab

Press:

G

Workspace then performs the package-management workflow:

Selected Application
        ↓
Create Application Directory
        ↓
Create Isolated .venv
        ↓
Upgrade pip
        ↓
Install Package from PyPI
        ↓
Inspect Package Metadata
        ↓
Detect Console Entry Point
        ↓
Record Installation
        ↓
Ready to Launch

🚀 Launching Applications

Highlight an installed application and press:

ENTER

Workspace temporarily suspends its own Textual interface.

The selected application then receives control of the terminal.

Richmack Workspace
        │
        │ ENTER
        ▼
   Selected TUI
        │
        │ Quit application
        ▼
Richmack Workspace

When the child application exits, control returns to Workspace.


🔄 Updating Applications

Highlight an installed application and press:

U

Workspace runs the equivalent package upgrade inside that application's isolated environment.

Package-manager output is intentionally not printed directly over the TUI.

Instead:

Update requested
      ↓
Background worker
      ↓
pip upgrade
      ↓
Log file
      ↓
Refresh application status

This prevents pip output from corrupting the Textual screen.


📝 Logs

Installation and update output is stored in per-application log files.

Conceptually:

logs/
├── wize-wizard.log
├── language-ninja.log
├── pot-of-mannah.log
├── exerxeye.log
├── hebrew-fuzzy-study.log
└── jinnlab.log

If an installation or update fails, Workspace reports the corresponding log location.

This keeps the interface clean while preserving debugging information.


🗃️ Activity Database

Workspace uses SQLite to maintain local activity history.

Events can include:

INSTALL
UPDATE
LAUNCH
UNINSTALL

Example:

2026-07-26 14:22   wize-wizard          launch
2026-07-26 13:51   jinnlab              update
2026-07-26 11:03   hebrew-fuzzy-study   launch
2026-07-26 09:44   language-ninja       install

The activity database gives Workspace the foundation for future statistics such as:

  • 📊 Most-used application
  • 🚀 Total launches
  • 🕐 Recent applications
  • 📅 Usage by day
  • 🔄 Update history
  • 📦 Installation history

🔍 Automatic Entry-Point Detection

Workspace does not need to assume that every PyPI package uses the same executable name as its package.

After installation, Workspace examines Python package metadata and searches for:

console_scripts

For example:

PyPI Package
    ↓
hebrew-fuzzy-study
    ↓
Package Metadata
    ↓
console_scripts
    ↓
Detected executable

This makes the launcher more flexible as the Richmack package ecosystem grows.


🗂️ Project Structure

richmack-workspace/
│
├── .github/
│   └── workflows/
│       └── publish.yml
│
├── richmack_workspace/
│   ├── __init__.py
│   ├── app.py
│   ├── catalog.py
│   ├── db.py
│   ├── manager.py
│   └── paths.py
│
├── tests/
│   └── test_catalog.py
│
├── .gitignore
├── install.sh
├── pyproject.toml
└── README.md

app.py

The main Textual application.

Handles:

  • UI composition
  • navigation
  • keyboard bindings
  • application details
  • install/update workers
  • launching
  • notifications

catalog.py

Defines applications available through Workspace.

Each catalog entry contains information such as:

WorkspaceApp(
    name="JinnLab",
    package="jinnlab",
    emoji="♟️",
    description="Game theory laboratory",
    slug="jinnlab",
)

manager.py

Handles application lifecycle operations:

Install
Update
Inspect
Launch
Remove

db.py

Handles SQLite activity records.

paths.py

Determines platform-appropriate locations for Workspace data, applications, logs, and databases.


🧪 Testing

Install pytest:

python -m pip install pytest

Run tests:

pytest -q

The test suite can be expanded as Workspace develops to cover:

  • Catalog integrity
  • Package detection
  • Environment creation
  • Entry-point discovery
  • Database operations
  • Application lifecycle behavior

📦 Building the Python Package

Install the build system:

python -m pip install --upgrade build

Clean old builds:

rm -rf dist build *.egg-info

Build:

python -m build

Expected output:

dist/
├── richmack_workspace-X.Y.Z-py3-none-any.whl
└── richmack_workspace-X.Y.Z.tar.gz

🔁 CI/CD

Richmack Workspace uses GitHub Actions for package publishing.

The intended release pipeline is:

Development
     ↓
Git Commit
     ↓
Push main
     ↓
Version Tag
     ↓
GitHub Release
     ↓
GitHub Actions
     ↓
Build Wheel + Source Distribution
     ↓
PyPI Trusted Publishing
     ↓
richmack-workspace on PyPI

This allows releases to be driven by versioned Git tags instead of manually uploading package files.


🏷️ Release Workflow

Example version:

v0.1.3

Create the tag:

git tag -a v0.1.3 -m "Richmack Workspace v0.1.3"

Push it:

git push origin v0.1.3

Create the GitHub release:

gh release create v0.1.3 \
  --title "Richmack Workspace v0.1.3" \
  --notes "Richmack Workspace release."

The publishing workflow can then build and publish the corresponding Python distribution.


🛣️ Roadmap

🔹 Current Foundation

  • ✅ Textual launcher
  • ✅ PyPI package installation
  • ✅ Independent virtual environments
  • ✅ Application updating
  • ✅ Application removal
  • ✅ Console-entrypoint detection
  • ✅ SQLite activity history
  • ✅ Background package-management operations
  • ✅ Package logs
  • ✅ Richmack ASCII interface

🔹 Application Management

Planned improvements include:

  • 🔄 Update All
  • 🟢 Update-available indicators
  • 🔍 Application search
  • ⭐ Favorites
  • 🩺 Environment health checks
  • 🔧 Repair environment
  • 📦 Installed-only view
  • 🆕 Available-app view
  • 📊 Version comparison

🔹 Workspace Intelligence

Future Workspace releases can add:

  • 📈 Launch statistics
  • 🕐 Recently used applications
  • 📊 Usage reports
  • 🔔 Update notifications
  • 💾 Shared configuration
  • 🧭 Application categories
  • 🔗 Cross-application navigation

🔹 Richmack Project Layer

A future shared project layer could allow applications to work on common project resources while remaining independently packaged.

                Richmack Project
                      │
        ┌─────────────┼─────────────┐
        │             │             │
   Wize Wizard     JinnLab      Other Tools
        │             │             │
        └─────────────┼─────────────┘
                      │
               Shared Project Data

🔹 Long-Term Direction

Richmack Workspace is designed as a foundation for a larger terminal computing environment.

Individual TUIs
       ↓
PyPI Applications
       ↓
Richmack Workspace
       ↓
Shared Services
       ↓
Terminal Application Platform
       ↓
Richmack OS

The long-term objective is a small, modular, terminal-oriented environment where applications can remain independently developed while sharing a common launcher and workspace architecture.


🧩 Design Philosophy

Richmack Workspace follows several principles.

🧱 Modular

Every major program remains independently installable.

⌨️ Keyboard First

Core operations should not require a mouse.

🖥️ Terminal Native

The terminal is treated as the primary interface rather than a fallback interface.

🔒 Isolated

Applications should not unnecessarily share dependency environments.

🔌 Extensible

Adding another Richmack application should require minimal modification to Workspace.

📦 Distributable

Applications can be independently versioned and distributed through PyPI.

🧠 Integrated Without Being Monolithic

Workspace creates a common environment without forcing every project into one codebase.


➕ Adding Another Richmack Application

New applications can be registered in the Workspace catalog.

Conceptually:

WorkspaceApp(
    name="New Richmack App",
    package="new-richmack-app",
    emoji="🔷",
    description="Description of the application.",
    slug="new-richmack-app",
)

Workspace can then manage the package using the same lifecycle:

Discover
   ↓
Install
   ↓
Detect
   ↓
Launch
   ↓
Update
   ↓
Remove

This means the Workspace architecture can grow with the application ecosystem.


🖥️ Richmack Terminal Ecosystem

Richmack Workspace represents the management layer connecting independent terminal projects.

                      USER
                       │
                       ▼
              ⚡ RICHMACK WORKSPACE
                       │
       ┌───────────────┼────────────────┐
       │               │                │
   PRODUCTIVITY     LEARNING        ANALYSIS
       │               │                │
       ▼               ▼                ▼
  🪄 Wize Wizard   📜 Hebrew Study   ♟️ JinnLab
                       │
                 🧠 Language Ninja
                       │
                HEALTH / TRAINING
                       │
                 ┌─────┴─────┐
                 ▼           ▼
             🍯 Mannah     ⚙️ ExerxEye

👨‍💻 Author

Jeremy Franklin

GitHub:

iamrichmack111

Richmack Workspace is part of the broader Richmack terminal software ecosystem.


📄 License

See the repository license for the terms governing this project.


⚡ RICHMACK WORKSPACE

Build tools independently. Operate them together.

Install → Select → Launch → Work → Return

🪄 🧠 🍯 ⚙️ 📜 ♟️

Release files for richmack-workspace 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for richmack-workspace 0.1.4
File Size Uploaded
richmack_workspace-0.1.4.tar.gz 14.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for richmack-workspace 0.1.4
File Interpreter ABI Platform
richmack_workspace-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 29.3 kB

Release files / richmack_workspace-0.1.4.tar.gz

Download URL richmack_workspace-0.1.4.tar.gz
Size 14.1 kB
Tags Source
SHA-256 checksum
How to use checksums
626257010dc77c497fde3cdb6c8124c5af7fcd257c8d3f170844a7ce651a7aaf
BLAKE2b-256 checksum
How to use checksums
e90bd74a76f70db12a5874ee0b9a9f82311f9be0aa3a3f438b1fbce58ddb1ab6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / richmack_workspace-0.1.4-py3-none-any.whl

Download URL richmack_workspace-0.1.4-py3-none-any.whl
Size 15.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
54d7812a21b79f7a855323a4f7590cb78ff89851259f866a04c8b446bc70b510
BLAKE2b-256 checksum
How to use checksums
856ad6bda50069ce6b7b45c884961bd7b8219975f60399545e767b41a889308e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page