Agentic Learning OS - An interactive, AI-native framework for learning in the terminal.
Project description
ALO — Agentic Learning OS
Turn any folder into a learning workspace.
ALO is a local-first CLI/TUI for building a personal learning system around any subject. It keeps your profile, roadmap, lessons, weaknesses, reviews, and progress in Markdown files you can read, edit, and commit.
Quick Install
pip install alo-learning-os
alo
Check the installation:
alo version
alo doctor
(Note: The PyPI distribution name is alo-learning-os. The installed command is alo.)
Why ALO?
Most learning starts with enthusiasm and then disappears into scattered notes, unfinished tutorials, lost context, too many tabs, and generic study plans with no real review loop or progress history.
ALO’s answer is simple:
- One folder per subject
- Markdown state files
- A personal roadmap tailored to you
- Daily focused learning sessions
- Built-in review loop for your weaknesses
- Safe Git history to track progress
What It Feels Like
pip install alo-learning-os
mkdir my-python-learning
cd my-python-learning
alo
The workflow is straightforward. You can use the interactive dashboard (alo) or direct CLI commands:
init → config → paths → roadmap → learn → review → sync
Terminal Preview
$ alo doctor
Checks Python, Git, workspace status, and LLM readiness.
$ alo paths
Generates learning path options based on your profile.
$ alo learn
Starts a focused learning session from the current roadmap.
(Screenshots and a short demo GIF are planned).
Workspace File Tree
Nothing is hidden in a database. Nothing is locked inside a web app. The workspace is just files.
my-python-learning/
├─ learning-profile.md
├─ skill-map.md
├─ learning-paths.md
├─ roadmap.md
├─ weaknesses.md
├─ progress-log.md
├─ tutor-rules.md
└─ privacy-rules.md
What ALO is not
- Not a course marketplace
- Not a hosted learning platform
- Not a notes app
- Not a chatbot skin
ALO is the layer that keeps your learning process organized.
Who It’s For
- Developers learning new stacks
- Designers learning product/UX
- Product managers building structured knowledge
- Students who want versioned learning notes
- Self-learners who want a review loop
Workspace Files
These are normal Markdown files. You own them. You can read them. You can edit them. You can commit them.
| File | Description |
|---|---|
learning-profile.md |
Your background, learning goals, and experience level |
skill-map.md |
An ongoing map of skills you've acquired or are currently targeting |
learning-paths.md |
Proposed learning paths generated by the LLM based on your profile |
roadmap.md |
The detailed step-by-step curriculum for your active learning path |
weaknesses.md |
A tracked list of concepts you need to review and practice more |
progress-log.md |
A log of lessons completed, assessments, and daily progress |
tutor-rules.md |
Custom instructions for how the LLM should teach and interact |
privacy-rules.md |
Rules detailing what context the LLM is allowed or forbidden to use |
LLM Configuration
ALO supports LLM-assisted features for generating personalized roadmaps and lessons.
Safe API Guidance:
- Recommended:
keyringmode (stores securely in your OS credential manager) - Alternative:
envmode (reads from an environment variable name) - Never paste keys into Markdown
- Never commit keys
Example for OpenAI-compatible providers:
Provider: openai-compatible
Base URL: https://api.example.com/v1
Model: gpt-4o-mini
Storage: keyring
Git Sync Safety
ALO takes Git sync seriously to prevent accidental secret leaks or unwanted file tracking.
- ALO never uses
git add . - Only known learning files are staged.
- Unsafe staged files block sync.
- Secret-looking content blocks commits.
- Dry-run is available.
alo sync --dry-run
alo sync --no-push
Commands
| Command | Description |
|---|---|
alo |
Opens the interactive dashboard TUI |
alo doctor |
Checks environment health, Python version, and Git status |
alo version |
Displays the current installed version |
alo init |
Initializes a new workspace and generates profile files |
alo config |
Configures the LLM provider, model, and secure credential storage |
alo paths |
Generates personalized learning paths based on your profile |
alo roadmap |
Builds a detailed curriculum for your chosen path |
alo learn |
Starts a daily learning and practice session |
alo review |
Initiates a review session focused on past weaknesses |
alo sync |
Safely commits changes to Markdown state files and pushes to remote |
alo readme |
Generates a workspace README.md portfolio (options: --include-charts --include-gamification) |
alo charts |
Generates local SVG progress charts in assets/ |
alo badges |
Displays local gamification summary and earned badges |
alo status |
Summarizes the current workspace state and momentum |
Mock Mode / Offline Demo
Mock mode is useful for trying the workflow without an API key.
alo paths --mock
alo roadmap --mock
alo learn --mock
alo review --mock
Roadmap
See v1.1.0 planning for the next milestone.
- Now: workspace README generator, learning stats, progress charts, streaks
- Later: roadmap import, examples gallery, richer dashboard UX
(Note: roadmap.sh-compatible import is future research, not current functionality.)
Current Limitations
- Python 3.12+ only
- LLM features require a configured provider unless mock mode is used
- Screenshots/GIF are not added yet
- Direct roadmap.sh integration is not implemented yet
Security
Please refer to SECURITY.md for vulnerability reporting instructions.
Do not paste API keys into issues. ALO is designed to avoid storing raw keys in project files.
Contributing
Bug reports, docs fixes, UX feedback, and roadmap ideas are welcome.
License
This project is licensed under the MIT License.
Troubleshooting / Config
Where ALO stores config: Configuration is stored securely using your operating system's standard user configuration directory (e.g., ~/.config/ALO/ALO/config.json on Linux, AppData\Local\ALO\ALO\config.json on Windows).
How to change provider/base URL: Run lo config to update your provider, model, base URL, and key storage preferences. Alternatively, use the interactive dashboard by running lo and navigating to Settings.
How to test API connection: You can test your connection in the TUI (interactive dashboard) by pressing T or selecting "Test API Connection" in the Settings menu.
What to do if settings look wrong: Your config is preserved safely. If a config file becomes invalid, ALO creates a timestamped backup and uses safe defaults. Open Settings in lo and save again to repair. For partial configurations, ALO will explicitly list the missing required fields (like Base URL).
API Keys are not printed: ALO never prints or exposes raw API keys in logs, terminal outputs, or config menus. It will only indicate whether a key is configured correctly in the keyring or environment variables.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file alo_learning_os-1.1.2.tar.gz.
File metadata
- Download URL: alo_learning_os-1.1.2.tar.gz
- Upload date:
- Size: 92.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18b62e45241e1bf585d374d953933a09f711dc995c38bc15183872341f524de1
|
|
| MD5 |
35822f8c3a80866058775f7108904bf5
|
|
| BLAKE2b-256 |
a2ee5bdb2810ae8607a0e9d4e7e3a467cc3cec10e71b7bcfceb6d1ce7e04057a
|
Provenance
The following attestation bundles were made for alo_learning_os-1.1.2.tar.gz:
Publisher:
publish.yml on abolfaazl/alo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
alo_learning_os-1.1.2.tar.gz -
Subject digest:
18b62e45241e1bf585d374d953933a09f711dc995c38bc15183872341f524de1 - Sigstore transparency entry: 2040047725
- Sigstore integration time:
-
Permalink:
abolfaazl/alo@bd2ecc288b864fcf53be4770ec4172116069fe69 -
Branch / Tag:
refs/tags/v1.1.2 - Owner: https://github.com/abolfaazl
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bd2ecc288b864fcf53be4770ec4172116069fe69 -
Trigger Event:
release
-
Statement type:
File details
Details for the file alo_learning_os-1.1.2-py3-none-any.whl.
File metadata
- Download URL: alo_learning_os-1.1.2-py3-none-any.whl
- Upload date:
- Size: 83.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5c37a5e2dad0e1198425bc2597c1b23d7733fbee9896f10fd583801673b2df2
|
|
| MD5 |
65195f32bc3f656eaa7445f9adba5ffc
|
|
| BLAKE2b-256 |
9380709eb84cd6b1064c0f3bbf57a69b6c2f698af808c5cb29d92519266ccb6d
|
Provenance
The following attestation bundles were made for alo_learning_os-1.1.2-py3-none-any.whl:
Publisher:
publish.yml on abolfaazl/alo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
alo_learning_os-1.1.2-py3-none-any.whl -
Subject digest:
b5c37a5e2dad0e1198425bc2597c1b23d7733fbee9896f10fd583801673b2df2 - Sigstore transparency entry: 2040047814
- Sigstore integration time:
-
Permalink:
abolfaazl/alo@bd2ecc288b864fcf53be4770ec4172116069fe69 -
Branch / Tag:
refs/tags/v1.1.2 - Owner: https://github.com/abolfaazl
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bd2ecc288b864fcf53be4770ec4172116069fe69 -
Trigger Event:
release
-
Statement type: