An open API service indexing awesome lists of open source software.

https://github.com/joanium/joanium

Your smart, reliable, and friendly personal AI assistant.
https://github.com/joanium/joanium

agent ai ai-agent automation claude-code codex deepseek gemini gemini-pro hermes-agent joanium kilo-code kimi minimax open-claude-code open-code open-human openclaw opencode qwen

Last synced: 4 days ago
JSON representation

Your smart, reliable, and friendly personal AI assistant.

Awesome Lists containing this project

README

          

# πŸ“š Joanium Docs

Welcome to the Joanium documentation. Here's where to start depending on what you're trying to do.

## πŸ—ΊοΈ Recommended Reading Order

If you're new to the codebase, read in this order:

1. **[Architecture.md](Architecture.md)** β€” understand the mental model and how the app is assembled
2. **[Features.md](Features.md)** β€” see the full product surface and what's already built
3. **[Data-And-Persistence.md](Data-And-Persistence.md)** β€” understand where state lives and why
4. **[Extension-Guide.md](Extension-Guide.md)** β€” learn how to add new features, engines, pages, and services
5. **[Where-To-Change-What.md](Where-To-Change-What.md)** β€” day-to-day maintenance map
6. **[Development-Workflow.md](Development-Workflow.md)** β€” scripts, packaging, and contributor workflow

## ⚑ Quick Lookup

| I want to... | Read this |
| ----------------------------------- | -------------------------------------------------- |
| Understand how the app boots | [Architecture.md](Architecture.md) |
| See what features already exist | [Features.md](Features.md) |
| Find where user data is stored | [Data-And-Persistence.md](Data-And-Persistence.md) |
| Add a new integration or feature | [Extension-Guide.md](Extension-Guide.md) |
| Change a specific page or subsystem | [Where-To-Change-What.md](Where-To-Change-What.md) |
| Build, audit, or package the app | [Development-Workflow.md](Development-Workflow.md) |

## 🧠 The Mental Model in 30 Seconds

Think of Joanium as **5 layers stacked on top of each other:**

```
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ 5. Local data, markdown libraries, prompts β”‚ ← Skills, Personas, Memories, Config
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 4. Renderer pages + shared UI β”‚ ← Chat, Agents, Automations, etc.
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 3. Long-lived engines + services β”‚ ← Agents engine, Automation engine, etc.
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 2. Discovery + composition β”‚ ← Feature Registry, Boot.js
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 1. Electron boot + process plumbing β”‚ ← App.js, Main process, Preload
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
```

Once that clicks, the rest of the repo becomes much easier to navigate.

> πŸ’‘ **Key insight:** Joanium is not organised around one monolithic app file. It's **assembled** through workspace package discovery. Add a package β†’ it just shows up at boot.

## πŸ“ Where the important folders live

```text
Packages/Main/ ← Boot, discovery, services, IPC registration
Packages/Features/ ← Long-lived background runtimes (engines)
Packages/Capabilities/ ← Integration packages (GitHub, Google, etc.)
Packages/Pages/ ← User-facing pages
Packages/Renderer/ ← SPA shell that mounts pages + sidebar
Packages/System/ ← Shared contracts and low-level helpers
```