{"id":50150815,"url":"https://github.com/pmioduszewski/iga-assistant","last_synced_at":"2026-05-24T08:04:31.711Z","repository":{"id":358960475,"uuid":"1240131919","full_name":"pmioduszewski/iga-assistant","owner":"pmioduszewski","description":"A composable personal-AI layer that runs inside Claude Code: skills + rules + persistent memory (MemPalace).","archived":false,"fork":false,"pushed_at":"2026-05-19T20:01:56.000Z","size":1097,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-19T22:50:57.792Z","etag":null,"topics":["ai-agent","claude-code","mcp","memory","personal-assistant","productivity","python","swift"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pmioduszewski.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":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-15T19:57:07.000Z","updated_at":"2026-05-19T20:00:56.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/pmioduszewski/iga-assistant","commit_stats":null,"previous_names":["pmioduszewski/iga-assistant"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/pmioduszewski/iga-assistant","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmioduszewski%2Figa-assistant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmioduszewski%2Figa-assistant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmioduszewski%2Figa-assistant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmioduszewski%2Figa-assistant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pmioduszewski","download_url":"https://codeload.github.com/pmioduszewski/iga-assistant/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmioduszewski%2Figa-assistant/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33426014,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T22:14:44.296Z","status":"online","status_checked_at":"2026-05-24T02:00:06.296Z","response_time":57,"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":["ai-agent","claude-code","mcp","memory","personal-assistant","productivity","python","swift"],"created_at":"2026-05-24T08:04:23.136Z","updated_at":"2026-05-24T08:04:31.695Z","avatar_url":"https://github.com/pmioduszewski.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# iga-assistant\n\nA personal AI assistant that runs **inside [Claude Code](https://claude.com/claude-code)** — not a standalone app. Iga is a composable substrate of **skills**, **rules**, and a persistent memory palace (**MemPalace**) that turns Claude Code into a life/projects orchestrator with real recall.\n\n\u003e Status: **early, single-maintainer, pre-1.0.** Public so the architecture and the `iga-assistant` namespace are out in the open. Expect sharp edges; APIs and pack layouts can still move.\n\n### Naming \u0026 status (read this before you judge the `iga` you'll see)\n\nThe assistant was originally **Iga** and is being renamed to **Iga**. The rename is **deliberately staged, not finished**: the brand, repo, skills, docs and the macOS app are already `Iga`, but the internal command namespace is still `/iga …`, the memory MCP is still `IgaMemory`, and some engine identifiers/env vars still read `iga`. That's tracked, coordinated work — `/iga` is the *current, working* command and is treated as a legacy alias until the sweep lands. If you see `iga` in code/commands, it's mid-migration, not abandoned.\n\n## What it actually is\n\nMost \"personal AI\" projects ship a monolithic desktop app. Iga is the opposite bet: a **harness-coupled layer** you extend with packs.\n\n- **Skills** (`skills/\u003cname\u003e/`) — capabilities Iga *does*: a workflow + optional engine code (Python/Swift). E.g. `mood-tracker`, `habit-tracker`, `iga-proactive`.\n- **Rules** (`rules/\u003cname\u003e.md`, gitignored) — preferences for *how* Iga uses a tool. Generic baseline ships in `community_rules/`; personal overrides in `*.local.md` and never leave your machine.\n- **MemPalace** — the memory layer: AAAK diary, knowledge graph, semantic recall. Iga without it is just a chatbot.\n- **Composability contract** — `community_*` (upstream, MIT) → installed copy (provenance-stamped) → `*.local.md` (yours, gitignored). `/iga update` does a three-way merge so you can pull upstream improvements without losing personalizations.\n\nSee [`CLAUDE.md`](CLAUDE.md) for the full operating contract and [`iga_memory_protocol.md`](iga_memory_protocol.md) for the memory model.\n\n## Prerequisites — scoped by what you actually use\n\nThe stack is polyglot **by domain fit**, not accident. You only need the row for the capability you want:\n\n| You want… | Need | Notes |\n|---|---|---|\n| Core assistant + skill engines | **`python3` ≥ 3.11** only | Engines are **stdlib-only, zero pip deps** — runs anywhere with system Python |\n| Claude Code itself | [Claude Code](https://claude.com/claude-code) CLI | The host harness; everything runs through it |\n| MemPalace | the bundled `mempalace` venv | Set up once; see `iga_memory_protocol.md` |\n| MCP integrations (Todoist, Calendar, Gmail, …) | **Node.js** ≥ 20 | Only the MCP servers that need it; configured per `.mcp.json` |\n| The macOS menu-bar widget app | **macOS 14+ \u0026 Swift 6 / Xcode CLT** | Optional, Mac-only; **not** required for the core assistant |\n| Contributing / secret-scanning hooks | [`ggshield`](https://github.com/GitGuardian/ggshield) | `brew install ggshield`; see below |\n\n**Minimum to try it:** Claude Code + `python3`. Everything else is additive.\n\n## Quick start\n\n```bash\ngit clone https://github.com/pmioduszewski/iga-assistant.git\ncd iga-assistant\n\n# 1. Enable the local secret guard (every clone — git doesn't auto-enable hooks dirs)\ngit config core.hooksPath .githooks\nbrew install ggshield        # or your platform's package manager\n\n# 2. Open Claude Code in this directory\nclaude\n\n# 3. In-session, check health and see what's installed\n#    (/iga is the current command namespace — legacy, rename to /iga in progress)\n/iga status\n/iga rules\n```\n\nInstall a community pack:\n\n```\n/iga install \u003cpack\u003e      # rule pack or skill bundle, shows contents first\n/iga check-updates       # which installed packs have upstream changes\n/iga update \u003cpack\u003e       # three-way merge, preserves your *.local.md\n```\n\n## Security \u0026 privacy\n\n- **No secrets in the tree.** Credentials live in `~/.config/\u003csvc\u003e`, env vars, and the gitignored state dir (`$IGA_HOME/state`, default `~/Gaia/state` — the home dir keeps its legacy name until the staged cutover; see *Naming \u0026 status*). The repo ships **synthetic data only**.\n- `.githooks/{pre-commit,pre-push}` run `ggshield` (same engine as the server-side GitGuardian check) **before** a commit object exists. Triaged false positives are documented per-entry in `.gitguardian.yaml` — the scanner is never disabled.\n- `*.local.md` (personal rule overrides) and `state/` are gitignored and never published upstream.\n\n## Roadmap (honest — these are *intentions*, not shipped)\n\n- **Harness-agnostic / more headless.** Today conversational Iga is coupled to Claude Code. Anthropic's 2026-06-15 billing split makes programmatic `claude -p`/Agent-SDK paths metered, which is hostile to autonomous OSS use. The plan: a small **provider-abstraction seam** over the headless paths so backends are swappable (Claude API, **Codex / GPT**, **Gemini**, local). Conversational use stays on whatever harness is cheapest. *Status: analysis done, direction not yet locked, seam not built.*\n- Finishing the `iga → iga` identifier/command/MCP sweep (see Naming \u0026 status).\n\n## How it compares\n\nIt does **not** try to be a 118-integration desktop app. If you want a self-contained Tauri assistant, projects like [openhuman](https://github.com/tinyhumansai/openhuman) are further along on that path. Iga's bet is different: **Claude Code-native composability** (install/fork/update skill \u0026 rule packs), **MemPalace recall quality**, and **contract-guarded native widgets**. Different shape, deliberately.\n\n## License\n\n[MIT](LICENSE). Personal layers (`*.local.md`, `state/`) are yours and never part of the distribution.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmioduszewski%2Figa-assistant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpmioduszewski%2Figa-assistant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmioduszewski%2Figa-assistant/lists"}