{"id":50980367,"url":"https://github.com/ceoimperiumprojects/altevra","last_synced_at":"2026-06-19T13:31:07.941Z","repository":{"id":360797475,"uuid":"1251000295","full_name":"ceoimperiumprojects/altevra","owner":"ceoimperiumprojects","description":"Local-first omniscient brain layer for AI tools. Source-available, PolyForm Strict licensed. Built in Rust.","archived":false,"fork":false,"pushed_at":"2026-06-12T11:25:29.000Z","size":4007,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-06-12T12:20:26.002Z","etag":null,"topics":["agent-os","ai","claude-code","local-first","mcp","rust","source-available"],"latest_commit_sha":null,"homepage":"https://github.com/ceoimperiumprojects/altevra","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ceoimperiumprojects.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-27T06:42:19.000Z","updated_at":"2026-06-07T12:45:56.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ceoimperiumprojects/altevra","commit_stats":null,"previous_names":["ceoimperiumprojects/altevra"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ceoimperiumprojects/altevra","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceoimperiumprojects%2Faltevra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceoimperiumprojects%2Faltevra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceoimperiumprojects%2Faltevra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceoimperiumprojects%2Faltevra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ceoimperiumprojects","download_url":"https://codeload.github.com/ceoimperiumprojects/altevra/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceoimperiumprojects%2Faltevra/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34534230,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-19T02:00:06.005Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-os","ai","claude-code","local-first","mcp","rust","source-available"],"created_at":"2026-06-19T13:31:04.937Z","updated_at":"2026-06-19T13:31:07.909Z","avatar_url":"https://github.com/ceoimperiumprojects.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"./docs/branding/altevra-social-preview.png\" alt=\"Altevra\" width=\"640\" /\u003e\n\n### **The omniscient brain layer for your AI tools.**\n\n*Local-first. Source-available. Built in Rust.*\n\n[![Status](https://img.shields.io/badge/status-v0.3+_self--improve-DC2626?style=flat-square)]()\n[![Tests](https://img.shields.io/badge/tests-911_passing-DC2626?style=flat-square)]()\n[![MCP Tools](https://img.shields.io/badge/MCP_tools-40-DC2626?style=flat-square)]()\n[![Rust](https://img.shields.io/badge/rust-1.75+-DC2626?style=flat-square\u0026logo=rust)]()\n[![License](https://img.shields.io/badge/license-PolyForm_Strict-7F1D1D?style=flat-square)](./LICENSE)\n[![Commercial](https://img.shields.io/badge/commercial-contact_required-7F1D1D?style=flat-square)](#commercial-licensing)\n\n\u003c/div\u003e\n\n---\n\n## What is Altevra?\n\nAltevra is the **shared memory and brain** behind every AI tool you use — Claude Code, Codex CLI, Cursor CLI, Antigravity, Hermes, anything that speaks MCP.\n\nWhile your AI tools forget everything between sessions, Altevra **remembers, thinks, and notices**:\n\n- 🧠 **Every tool call** across every AI session, recorded locally\n- 📝 **Every decision, learning, person, project** atomized into a recallable object\n- 🔴 **Every secret** auto-redacted before storage; PEM/db-urls refused outright\n- 🛡️ **Personal data stays local** — SI-7 high-water content (relationship, health, financial, legal, client) never reaches a cloud model\n- 🔄 **Self-improve loop** — proposes new skills, refines its own prompts (shadow-eval gated), runs the same `firewall_check` below every LLM call\n- 📡 **Proactive briefings** — \"you haven't talked to X in 6 weeks\", \"decision Y from 3 months ago — still valid?\"\n- 🔗 **One unified store** — your `~/.altevra/altevra.db`, your laptop, your control\n\n\u003e **No cloud. No telemetry. No data leaves your machine unless you tell it to.**\n\n---\n\n## Why source-available, not open-source?\n\nAltevra is **PolyForm Strict licensed** — the source is public, you can read it, study it, fork it for **non-commercial purposes**. But it is **not** open-source in the OSI sense.\n\n- Personal use, hobby projects, academic research, non-commercial experimentation → **always free**.\n- Commercial use (SaaS, bundling, for-profit deployment) → [contact us](#commercial-licensing).\n\nSee [LICENSE](./LICENSE) for the full PolyForm Strict 1.0.0 terms.\n\n---\n\n## Quick start\n\n**Prerequisites:** [Rust](https://rustup.rs) 1.75+ (`curl https://sh.rustup.rs -sSf | sh`)\n· `git` · Linux/macOS with `systemd --user` for the background services (optional —\nfalls back to `altevra brain start`). Optional but recommended: the [`claude`\nCLI](https://docs.claude.com/claude-code) for the zero-API-key LLM. First build\ndownloads the ONNX runtime; the first embedding run downloads the BGE‑M3 model\n(~2 GB, one time) — so the very first run needs network + a couple GB of disk.\n\n### 🔌 Plug-and-play (one command)\n\n```bash\ngit clone https://github.com/ceoimperiumprojects/altevra.git\ncd altevra\nbash setup.sh\n```\n\n`setup.sh` builds Altevra, puts it on your `PATH`, then runs the native wizard\n`altevra setup all` — which connects every AI tool it detects, configures the LLM\n(Claude via `claude -p` — your subscription, no API key), and installs the\nautonomous background services (brain + embedder, surviving reboot). Idempotent —\nsafe to re-run. **That's it: clone → one command → live.**\n\n\u003e Already built? Just run **`altevra setup`** (or `altevra setup all`) any time to\n\u003e (re)connect tools, set the LLM, register the MCP server, promote skills, and\n\u003e (re)install services. Bare `altevra setup` runs the full wizard with defaults;\n\u003e use `altevra setup all --no-services / --no-llm / --no-mcp / --no-global-skills`\n\u003e to skip any step.\n\n`altevra setup all` also registers the Altevra **MCP server** with Claude Code\n(`claude mcp add altevra -- altevra serve`, user scope) so every session gets the\n40+ Altevra tools, and promotes the [`altevra-core` skill](06-skills/altevra-core.md) to your user-global\n`~/.claude/skills/` so the AI knows how to use Altevra in **every** project — not\njust this repo. Other tools (Codex, Cursor, Antigravity) get their MCP config\nwritten by `altevra connect`. (`--no-global-skills` keeps skills project-scoped.)\nVerify the server is live:\n\n```bash\nclaude mcp list             # → altevra: … ✔ Connected\n```\n\nThen verify the brain:\n\n```bash\naltevra brain status        # jobs running, 0 failed\naltevra recall \"what did I work on\"\n```\n\n**Something not working?** Run the built-in health check — it tells you exactly\nwhat's wired and what to fix, with a copy-paste fix for each warning:\n\n```bash\naltevra doctor              # ✓/⚠ across vault, skills, hooks, brain, MCP, embeddings\n```\n\n\u003cdetails\u003e\u003csummary\u003eManual setup (if you want to do it step-by-step)\u003c/summary\u003e\n\n```bash\n# Build from source (binary releases coming in v0.4)\ngit clone https://github.com/ceoimperiumprojects/altevra.git\ncd altevra\ncargo build --release --features embedding\nsudo ln -s \"$PWD/target/release/altevra\" /usr/local/bin/altevra   # or ~/.local/bin/\n\n# Initialize Altevra in any project\naltevra init\n\n# Connect your AI tools (auto-detects what's installed)\naltevra connect --tool claude-code\naltevra connect --tool codex\naltevra connect --tool cursor\naltevra connect --tool hermes\naltevra connect --tool antigravity\n\n# Pick a reasoning model\naltevra llm use codex          # ChatGPT Plus (codex_oauth, no API key)\naltevra llm use ollama         # Ollama on localhost:11434\naltevra llm use vllm           # vLLM OpenAI-compat\naltevra llm use local-first    # Ollama for personal, codex for everything else\n```\n\n**Recommended: Claude via the `claude -p` CLI** (uses your Claude subscription, no\nAPI key). Set it in `~/.altevra/config.toml`:\n\n```toml\n[llm]\nreasoning_mode = \"api\"\n\n[llm.cheap_worker]      # fast/cheap classification, categorization\nkind  = \"claude-cli\"\nmodel = \"claude-haiku-4-5-20251001\"\n\n[llm.strong_reasoner]   # synthesis: insights, extraction, wiki, healer\nkind  = \"claude-cli\"\nmodel = \"claude-sonnet-4-6\"\n```\n\n\u003e The `claude-cli` provider shells out to `claude -p` in an isolated sandbox\n\u003e (`--settings '{}'` so it never recurses into Altevra's own hooks). Requires the\n\u003e [Claude Code CLI](https://claude.com/claude-code) on your `PATH`.\n\n```bash\n# Start everything (brain jobs + file watcher + embedder).\n# Easiest: install the systemd user services so they survive logout/reboot:\naltevra service install --apply\nsystemctl --user enable --now altevra-brain altevra-embedder altevra-backup.timer\nloginctl enable-linger \"$USER\"          # survive logout\n\n# Or just run the brain in the foreground:\naltevra brain start\n\n# Capture an Obsidian-style note, atomized per section\naltevra capture ~/Obsidian/Memory/Decisions.md\n\n# Recall across turns + objects, with temporal + entity windows\naltevra recall \"americans\" --window last_month\naltevra recall --with Srđan\n```\n\n### Capture ALL your work, not just AI sessions\n\nA file watcher indexes everything you touch (code, docs, notes) across your work\ndirs, so it becomes recall-able — not just AI-tool sessions:\n\n```bash\naltevra watch start --repo ~/projects --repo ~/Documents --repo ~/notes\n# (build dirs like target/ node_modules/ .next/ .cache/ are ignored automatically)\n```\n\n\u003c/details\u003e\n\n---\n\n## What runs in the background\n\nWhen you start `altevra brain`, a tokio scheduler runs the following autonomous jobs. Every job is independently disable-able. Every job logs to SQLite. Every LLM call goes through a rate-limited multi-provider router.\n\n| Job | Period | What it does |\n|-----|--------|--------------|\n| `event_classifier` | 1 min | Tags every event in your event log |\n| `observer_scan` | 5 min | 8 pattern detectors (drift, hook failures, stale projects, decision conflicts, secret churn, skill divergence, …) |\n| `vault_indexer` | 15 min | Catches file changes the watcher missed |\n| `insight_synthesizer` | 1 h | Distills \"what's interesting in the last hour\" into a recallable `insight_card` |\n| `auto_categorizer` | 30 min | Living taxonomy — classifies new objects, proposes new categories (Tier-0) |\n| `research_fetcher` | 2 h | Pulls all configured RSS/Atom feeds |\n| `feed_discovery` | 1 h | Auto-discovers new RSS feeds from pages you visit |\n| `github_trending_fetch` | 4 h | Scrapes GitHub Trending |\n| `project_research_sweep` | 24 h | Per-project web search (DDG/Brave/Exa) with relevance gate |\n| `daily_summary` | 23:00 | Daily Obsidian brief — patterns + last-contact + decisions-to-recheck |\n| `self_improve_orchestrator` | 45 min | 7-stage capture → cluster → detect → **firewall_check** → apply → monitor → retire |\n| `lifecycle_archiver` | 24 h | Active → Archived (status-only), R-EPH context purge, legal-hold respected (R5-INV) |\n| `curator` | ~7 d (idle) | Hermes-style: consolidate skills into umbrellas, archive stale, **never deletes** |\n| `task_grooming` | 3 h | Flags stale tasks |\n\n---\n\n## The Self-Improve Loop\n\nAltevra observes itself and proposes refinements. The loop is the most important safety surface of the system — and it lives in **Rust below the LLM**, so no model output can disable it.\n\n```\n┌─────────────────┐  ┌──────────────┐  ┌──────────────┐  ┌────────────────┐\n│ improvement_    │→ │  cluster by  │→ │  derive_     │→ │ firewall_check │\n│ signals (hook)  │  │  dedup_key   │  │  risk_tier   │  │   (8 gates)    │\n└─────────────────┘  └──────────────┘  └──────────────┘  └───────┬────────┘\n                                                                 │\n                          ┌──────────────────────────────────────┴────┐\n                          │ Tier-0 → auto-apply (category/wiki/memory)│\n                          │ skill   → render via ToolAdapter (5 tools)│\n                          │ prompt  → only after passing shadow eval  │\n                          │ Tier-2  → NEVER auto-apply (locked)       │\n                          └───────────────────────────────────────────┘\n```\n\n**The brakes the loop cannot remove** (code-enforced, below the LLM):\n\n- **SI-2 Constitutional Lock** — `safety` and `altevra_rules` prompt layers are `locked=1`. The firewall denies any auto-change.\n- **SI-7 Local-only** — high-water domains (personal / relationship / health / legal / financial / client) route to `local_private` model **regardless of `obj.domain`** — a content scan keeps mislabeled rows local too.\n- **SI-9 Tier re-derive** — risk_tier is always computed by core, never asserted by an agent.\n- **SI-10 Shadow-eval gate** — a prompt change auto-applies only after a passing `prompt_eval_results` row.\n- **SI-15 Notes are data** — a captured note saying \"disable the firewall / auto-apply everything\" never changes a gate. The firewall reads structured fields only.\n- **SI-6 Self-write exclusion** — Altevra's own writes never become improvement signals (no feedback loop).\n- **HP-1 / HP-2** — MCP never exposes approve/apply/grant/forget-execute tools; tier ≥1 apply routes through `presence::require_human_presence` (TTY + `ALTEVRA_UNLOCK` token).\n- **Kill switch** — `RESIDENT_DISABLED` env or `~/.imperium/RESIDENT_DISABLED` file halts the entire loop at the top of every run.\n\nA 20-case adversarial suite (`crates/altevra-core/tests/runaway_firewall.rs` + `crates/altevra-brain/tests/selfimprove_vertical_loop.rs`) drives the real orchestrator with planted \"disable the firewall\" payloads, budget floods, and circuit-breaker scenarios. All green.\n\n---\n\n## Multi-provider LLM, one command\n\n```toml\n# ~/.altevra/config.toml\n[llm]\nreasoning_mode = \"codex_oauth\"   # delegated | codex_oauth | api\nembedding_mode = \"off\"           # off | local (BGE-M3 + sqlite-vec)\n\n[llm.local_private]              # used for high-water + personal_curator (SI-7)\nkind     = \"openai_compat\"\nbase_url = \"http://localhost:11434/v1\"\nmodel    = \"qwen2.5\"\n```\n\nProviders built in: **codex_oauth** (ChatGPT GPT-5.5 via `~/.codex/auth.json`, no API key), **OpenAI-compat** (Ollama, vLLM, DeepSeek, Qwen, Moonshot, Together, Groq, OpenRouter, …), **Anthropic**, **Gemini**. A `noop` provider keeps the brain keyless-runnable for development.\n\n`altevra llm use ollama` writes the config + probes the endpoint in one shot.\n\n---\n\n## 5 Tool Adapters\n\n| Tool | Hook events | Skills directory | MCP |\n|------|-------------|------------------|-----|\n| **Claude Code** | 40 lifecycle events | `.claude/skills/` | ✅ |\n| **Codex CLI** | 10 lifecycle events | `~/.codex/prompts/` | ✅ |\n| **Cursor CLI** | 21 lifecycle events | `.cursor/skills/` | ✅ |\n| **Antigravity** | gemini-cli history | `.agent/skills/` | ✅ |\n| **Hermes** | shared brain bus | `~/.imperium/skills/shared/` | ✅ |\n\nA `skill sync` engine + watcher propagates skills across all 5 (atomic writes, managed header, never overwrites user-authored). A `cursor import` lifts the **50,879+ row** `~/.cursor/ai-tracking/ai-code-tracking.db` (read-only, sha-verified untouched) into searchable `cursor_edits` so `altevra recall` finds your past AI-assisted coding moves.\n\n---\n\n## MCP Server — 40 tools\n\n`altevra serve` exposes Altevra as an MCP server over stdio. Any AI tool that speaks Model Context Protocol can call:\n\n```\n# Recall + retrieval\nrecall_window               recall_about\nsearch_memory               search_turns\nsearch_wiki                 get_context_packet\nget_source_of_truth         replay_session\nfile_history                get_wiki_page\n\n# Bootstrap + identity\nget_agent_bootstrap_packet  get_project_context\nget_capabilities            get_setup_status\nget_goals                   get_active_tasks\nget_last_updates            mark_updates_read\n\n# Skills\nlist_skills                 get_skill\nget_altevra_skill           check_altevra_skill_version\nrequest_skill_refresh\n\n# Resident modes\nlist_resident_modes         get_resident_prompt\nbuild_system_prompt         get_observer_insights\n\n# Write — proposal-only (HP-1: never executes)\nsave_task                   update_task\nsave_decision               create_review_item\nrequest_forget              propose_improvement\nreport_knowledge_gap        report_capability_gap\n\n# Research\nproject_research            github_trending\nweb_search                  discover_feed\nrun_hook\n```\n\n**HP-1 lock**: a regression test scans every tool name for the forbidden verbs `approve|apply|grant|forget_execute|set_policy|revoke|legal_hold|execute`. Zero matches. MCP can propose; only the human-presence CLI path can apply.\n\n---\n\n## Architecture\n\n```\n┌──────────────────────────────────────────────────────────────────┐\n│  AI tools                                                        │\n│  Claude Code · Codex CLI · Cursor CLI · Antigravity · Hermes     │\n└─────────┬────────────────────────────────────────────┬───────────┘\n          │ hooks (40+ events)                         │ MCP\n          ▼                                            ▼\n┌──────────────────────────────────────────────────────────────────┐\n│                         ALTEVRA CORE                             │\n│                                                                  │\n│  Recorder · Watcher · Brain Jobs · Resident Modes (8)            │\n│      ↓         ↓          ↓              ↓                       │\n│  ┌──────────────────────────────────────────────────────┐        │\n│  │  Self-Improve Loop  (firewall_check below the LLM)   │        │\n│  │  signals → cluster → derive_tier → gate → apply      │        │\n│  │  Tier-0 auto · skill render · prompt (shadow-eval)   │        │\n│  └──────────────────────────────────────────────────────┘        │\n│                          ↓                                       │\n│  ┌──────────────────────────────────────────────────────┐        │\n│  │   Model Routing  (role_for_object — high-water local)│        │\n│  │   cheap_worker · strong_reasoner · local_private     │        │\n│  └──────────────────────────────────────────────────────┘        │\n│                          ↓                                       │\n│  ┌──────────────────────────────────────────────────────┐        │\n│  │   altevra-llm  (codex_oauth · OpenAI-compat ·        │        │\n│  │   Anthropic · Gemini · noop)                         │        │\n│  └──────────────────────────────────────────────────────┘        │\n│                                                                  │\n│  Living storage — SQLite + keyring                               │\n│  sessions · turns · objects · proposals · prompts · grants       │\n│  exposure_decisions (append-only, R5-INV) · audit_log            │\n└──────────────────────────────────────────────────────────────────┘\n                          │\n                          ▼\n              Obsidian vault  (human-canonical truth)\n              generated_mirror writer — DRY-RUN default\n              D4: high-water domains NEVER mirror\n```\n\n**15 Rust crates · 33 SQLite migrations · single binary · zero network egress** except optional LLM calls.\n\n---\n\n## Status — v0.3+ (self-improve era)\n\nThe system has crossed from \"AI recorder\" to \"AI brain that notices and thinks\":\n\n- ✅ **911 tests passing**, 0 failing, clippy `--all-targets -D warnings` clean (incl. `--features embedding`)\n- ✅ **40 MCP tools** live, HP-1 lock regression-tested\n- ✅ **5 tool adapters** (Claude Code, Codex, Cursor, Antigravity, Hermes)\n- ✅ **33 SQLite migrations**, FTS5 lexical retrieval (R12: vector-free core)\n- ✅ **Self-improve orchestrator** + firewall (8 deny reasons) + prompt registry + curator\n- ✅ **PromptRegistry** — Altevra mints new versions of its own non-locked prompts (shadow-eval gated)\n- ✅ **CapabilityGrantsRepository** — cross-agent install/execute grants are presence-gated\n- ✅ **Cursor CLI SQLite import** — 50K+ AI completions searchable via `recall`\n- ✅ **Lifecycle archiver** — archive-never-delete; R5-INV (audit untouched)\n- ✅ **Tombstone + conflict model** — multi-device sync seed (P0.9, no daemon yet)\n- ✅ **Codex GPT-5.5 reasoning** via `~/.codex/auth.json` (ChatGPT Plus, no API key)\n- ✅ **OpenAI-compat local models** — `altevra llm use ollama` one-shot config\n- ✅ **Auto-capture secrets** before redaction; PEM / db-url refused outright\n- ✅ **20-case adversarial suite** drives real orchestrator with prompt-injection payloads\n- ⏳ Binary releases / install via cargo / homebrew → v0.4\n- ⏳ Multi-device sync daemon → P1\n\n---\n\n## Commercial licensing\n\nThe PolyForm Strict license **does not** permit commercial use. For:\n\n- **SaaS / hosted deployment**\n- **Bundling into a commercial product**\n- **Internal use at a for-profit organization**\n- **Consulting / professional services using Altevra**\n- **Removing or modifying license notices**\n\n…contact us for a commercial license:\n\n📧 **ceoimperiumprojects@gmail.com**\n\n---\n\n## Contributing\n\nUntil v1.0 the project is single-maintainer by design. PRs are appreciated but not actively solicited — open an issue first if you'd like to propose something significant.\n\nBug reports, documentation fixes, and small enhancements are always welcome.\n\n---\n\n## Credits\n\nBuilt by **[Pavle Anđelković](https://github.com/ceoimperiumprojects)**.\n\n\u003e *\"I don't build tools. I build machines that build products.\"*\n\n\u003e *\"I'm literally building a digital version of myself, year over year.\"*\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**[★ Star on GitHub](https://github.com/ceoimperiumprojects/altevra)**  •  **[Report a bug](https://github.com/ceoimperiumprojects/altevra/issues)**  •  **[Commercial license](#commercial-licensing)**\n\nCopyright © 2026 Pavle Anđelković. All rights reserved.\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fceoimperiumprojects%2Faltevra","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fceoimperiumprojects%2Faltevra","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fceoimperiumprojects%2Faltevra/lists"}