{"id":50260910,"url":"https://github.com/peterdsp/kujto","last_synced_at":"2026-05-27T10:01:42.669Z","repository":{"id":359552903,"uuid":"1246601537","full_name":"peterdsp/kujto","owner":"peterdsp","description":"The first Albanian AI memory base for iOS developers. Bilingual Markdown memory for Claude, Codex, Gemini, Copilot, plus a zero-config simulator.sh. Designed to expand.","archived":false,"fork":false,"pushed_at":"2026-05-22T11:24:08.000Z","size":60,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-22T17:22:43.938Z","etag":null,"topics":["agents","ai","albania","albanian","bilingual","claude","codex","copilot","cursor","developer-tools","gemini","ios","llm","memory","simulator","swift","xcode","zero-config"],"latest_commit_sha":null,"homepage":"https://github.com/peterdsp/kujto","language":"Shell","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/peterdsp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"AGENTS.md","dco":null,"cla":null},"funding":{"github":"peterdsp"}},"created_at":"2026-05-22T11:04:58.000Z","updated_at":"2026-05-22T11:24:12.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/peterdsp/kujto","commit_stats":null,"previous_names":["peterdsp/kujto"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/peterdsp/kujto","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterdsp%2Fkujto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterdsp%2Fkujto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterdsp%2Fkujto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterdsp%2Fkujto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/peterdsp","download_url":"https://codeload.github.com/peterdsp/kujto/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterdsp%2Fkujto/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33560727,"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-05-27T02:00:06.184Z","response_time":53,"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":["agents","ai","albania","albanian","bilingual","claude","codex","copilot","cursor","developer-tools","gemini","ios","llm","memory","simulator","swift","xcode","zero-config"],"created_at":"2026-05-27T10:01:37.501Z","updated_at":"2026-05-27T10:01:42.664Z","avatar_url":"https://github.com/peterdsp.png","language":"Shell","funding_links":["https://github.com/sponsors/peterdsp"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# 🦅 Kujto\n\n**AI-ja e parë shqiptare e memories për dev iOS. E versionuar, dygjuhëshe, e gjallë.**\n**The first Albanian AI memory base for iOS developers. Versioned, bilingual, alive.**\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![Made in Albania](https://img.shields.io/badge/Made%20in-Albania%20🇦🇱-red)](https://github.com/peterdsp/kujto)\n[![Focus](https://img.shields.io/badge/Focus-iOS%20first-blue?logo=apple)](memory/domains/ios/)\n[![Agents](https://img.shields.io/badge/Agents-Claude%20%7C%20Codex%20%7C%20Gemini%20%7C%20Copilot-purple)](AGENTS.md)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md)\n\n[🇦🇱 Shqip](#-shqip) · [🇬🇧 English](#-english) · [Memory](#memory) · [Tools](#tools) · [Packages](#packages) · [Roadmap](#roadmap)\n\n\u003c/div\u003e\n\n---\n\n## 🇦🇱 Shqip\n\n**Kujto** (\"kujto!\" në mënyrën urdhërore) është një **bazë memorie për agjentët AI që punojnë në projekte iOS**. Mban të vërtetën afatgjatë (konventa Swift, modelet kryesore të arkitekturës iOS, rregulla snapshot-esh, higjienë git, stil shkrimi) në Markdown të strukturuar dhe të versionuar, jo në kontekstin e brishtë të një bisede.\n\nFokusi fillestar është **iOS me Claude, Codex, Gemini dhe Copilot**, sepse aty rri vlera më e drejtpërdrejtë: dev iOS i shqipfolur nuk ka pasur kurrë një bazë memorie në gjuhën amtare që agjentët e tij ta lexojnë në çdo sesion.\n\nArkitektura është bërë për t'u zgjeruar (`memory/domains/`), por në fillim po e dërgojmë mirë një fushë të vetme.\n\nSi bonus, repo-ja sjell **`simulator.sh`**, një skript ultra-portativ që ndez çdo projekt Xcode pa konfigurim. Ai është vegla e parë në një familje që do të rritet bashkë me memorien.\n\n### Çfarë merr sot\n\n- **Memory framework dygjuhësh** (shqip dhe anglisht në të njëjtin file), me rregulla bërthamë, konventa iOS dhe workflow.\n- **12 guida arkitekture iOS** për modele klasike, UIKit, SwiftUI, reactive dhe unidirectional. Plus një guidë vendimi për të zgjedhur saktë midis tyre.\n- **Adapter për Claude Code, OpenAI Codex CLI, Gemini CLI, GitHub Copilot, Cursor** përmes një `AGENTS.md` të vetëm.\n- **`simulator.sh` zero-config** për ndërtim, instalim, ndezje dhe streaming log-esh në çdo projekt iOS Xcode.\n- **`wire.sh`** për lidhjen e Kujto-s në çdo repo me dy komanda.\n\n### Instalim me një rresht\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/peterdsp/kujto/main/bin/install.sh | bash\n```\n\nOse lokalisht:\n\n```bash\ngit clone https://github.com/peterdsp/kujto.git ~/kujto\ncd ~/kujto \u0026\u0026 ./install.sh\n```\n\n### Quickstart për dev iOS\n\n```bash\n# 1. Lidh memory-në te projekti yt iOS\ncd path/to/your/ios/project\n~/kujto/wire.sh\n\n# 2. Ndez app-in pa konfigurim\n~/kujto/simulator.sh\n```\n\nTani agjentët e tu (Claude, Codex, Gemini, Copilot) e lexojnë `AGENTS.md` dhe e ndjekin `memory/MEMORY.md` ne çdo sesion.\n\n---\n\n## 🇬🇧 English\n\n**Kujto** (\"remember!\" in Albanian, imperative) is a **memory base for AI agents working on iOS projects**. It stores long-term truth (Swift conventions, the main iOS architecture patterns, snapshot rules, git hygiene, writing style) in structured, versioned Markdown, not in the fragile context of a single chat.\n\nThe initial focus is **iOS with Claude, Codex, Gemini, and Copilot**, because that is where the most direct value lives: Albanian-speaking iOS devs never had a native-language memory base their agents could pick up in every session.\n\nThe architecture is built to expand (`memory/domains/`), but we are shipping one domain well first.\n\nAs a bonus, the repo ships **`simulator.sh`**, an ultra-portable script that boots any Xcode project with zero config. It is the first tool in a family that will grow alongside the memory.\n\n### What you get today\n\n- **Bilingual memory framework** (Albanian and English in the same file), with core rules, iOS conventions, and workflows.\n- **12 iOS architecture guides** across classic, UIKit, SwiftUI, reactive, and unidirectional patterns. Plus a decision guide for choosing between them.\n- **Adapter for Claude Code, OpenAI Codex CLI, Gemini CLI, GitHub Copilot, Cursor** through a single `AGENTS.md`.\n- **Zero-config `simulator.sh`** for building, installing, launching, and tailing logs on any iOS Xcode project.\n- **`wire.sh`** to attach Kujto to any repo with two commands.\n\n### One-line install\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/peterdsp/kujto/main/bin/install.sh | bash\n```\n\nOr locally:\n\n```bash\ngit clone https://github.com/peterdsp/kujto.git ~/kujto\ncd ~/kujto \u0026\u0026 ./install.sh\n```\n\n### Quickstart for iOS devs\n\n```bash\n# 1. Wire memory into your iOS project\ncd path/to/your/ios/project\n~/kujto/wire.sh\n\n# 2. Boot the app with zero config\n~/kujto/simulator.sh\n```\n\nYour agents (Claude, Codex, Gemini, Copilot) now read `AGENTS.md` and follow `memory/MEMORY.md` in every session.\n\n---\n\n## Memory\n\nThe memory base is the heart of the project. It lives in [`memory/`](memory/) and follows this reading order:\n\n1. [`AGENTS.md`](AGENTS.md) at the root (rules for every agent, bilingual).\n2. [`memory/MEMORY.md`](memory/MEMORY.md) (the index).\n3. Only the referenced files relevant to the task.\n\n### Layout\n\n```\nmemory/\n├── MEMORY.md                       indeks dygjuhesh / bilingual index\n├── core/\n│   ├── writing_style.md            stil i shkrimit, rregulli no-em-dash\n│   ├── safety_and_git.md           siguri dhe disipline git\n│   └── handoff.md                  ruajtja e gjendjes ne limit konteksti\n├── domains/\n│   └── ios/                        FOKUSI I FILLIMIT / INITIAL FOCUS\n│       ├── swift_conventions.md\n│       ├── xcode_workflow.md\n│       ├── snapshot_testing.md\n│       ├── navigation.md\n│       └── architectures/          modele arkitekture / architecture patterns\n│           ├── README.md           si te zgjedhesh / how to choose\n│           └── *.md                guida per modelet kryesore iOS / guides\n└── workflows/\n    ├── answer_order.md\n    ├── pr_descriptions.md\n    └── git_hygiene.md\n```\n\nDetaje në [docs/memory-architecture.md](docs/memory-architecture.md).\n\n## Tools\n\nVegla e parë qe shoqeron memorien:\n\n### `simulator.sh`\n\nZero-config për çdo projekt iOS Xcode.\n\n```bash\n./simulator.sh                       # auto-detect everything\n./simulator.sh --device \"iPhone 15\"  # pin a device\n./simulator.sh --scheme MyApp        # pin a scheme\n./simulator.sh --clean               # rebuild from scratch\n./simulator.sh --list                # list schemes and devices\n./simulator.sh --no-logs             # do not stream logs\n./simulator.sh --stop                # terminate app and shutdown sim\n```\n\nDetaje në [docs/simulator-guide.md](docs/simulator-guide.md).\n\n## Integrations\n\n| Agent | Wires into | Folder |\n|---|---|---|\n| Claude Code | `~/.claude/CLAUDE.md` | [`integrations/claude/`](integrations/claude/) |\n| OpenAI Codex CLI | `~/.codex/AGENTS.md` | [`integrations/codex/`](integrations/codex/) |\n| Gemini CLI | `~/.gemini/GEMINI.md` | [`integrations/gemini/`](integrations/gemini/) |\n| GitHub Copilot | `.github/copilot-instructions.md` | [`integrations/copilot/`](integrations/copilot/) |\n| Cursor | `.cursor/rules/kujto.mdc` | [`integrations/cursor/`](integrations/cursor/) |\n\nTë katërt (Claude, Codex, Gemini, Copilot) lexojnë të njëjtin `AGENTS.md` përmes symlink-eve. One source of truth.\n\n## Philosophy\n\n1. **Memorie e versionuar, jo memorie chat-i.** / Versioned memory, not chat memory.\n2. **iOS pari, ne thelle, jo gjeresisht.** / iOS first, deep before wide.\n3. **Zero config fiton.** / Zero config wins.\n4. **Dygjuhesh eshte identitet.** / Bilingual is identity. Shqipja e para. Albanian first.\n\n## Releases\n\nNuk ka release të publikuar ende. Release-i i parë do të shfaqet te\n[GitHub Releases](https://github.com/peterdsp/kujto/releases) sapo të\ntag-ohet versioni i parë.\n\nNo release has been published yet. The first release will appear in\n[GitHub Releases](https://github.com/peterdsp/kujto/releases) once the first\nversion is tagged.\n\n## Packages\n\nKujto ka tani sipërfaqe fillestare package për SwiftPM, KMP/Gradle dhe\nFlutter/Dart. Publikimi lidhet me release-et: kur publikohet një GitHub\nRelease, workflow `Packages` ndërton SwiftPM, publikon Gradle plugin në\nGitHub Packages dhe bën dry-run për Flutter.\n\nPër iOS, rruga praktike është Swift Package Manager me URL të repo-s dhe tag\nversioni:\n\n```bash\nswift package resolve\nswift run kujto wire --target /path/to/your/repo --memory\n```\n\nPër KMP/Gradle, GitHub Packages është i dobishëm për plugin-in:\n\n```kotlin\nplugins {\n    id(\"com.github.peterdsp.kujto\") version \"0.1.3\"\n}\n```\n\nPër Flutter, package është CLI vegle dhe duhet të shkojë në pub.dev kur të jetë\ngati për publikim publik. Nuk duhet të jetë runtime dependency e app-it.\n\nKujto now has initial package surfaces for SwiftPM, KMP/Gradle, and\nFlutter/Dart. Publishing is tied to releases: when a GitHub Release is\npublished, the `Packages` workflow builds SwiftPM, publishes the Gradle plugin\nto GitHub Packages, and dry-runs Flutter.\n\nFor iOS, the practical path is Swift Package Manager with the repository URL\nand a version tag:\n\n```bash\nswift package resolve\nswift run kujto wire --target /path/to/your/repo --memory\n```\n\nFor KMP/Gradle, GitHub Packages is useful for the plugin:\n\n```kotlin\nplugins {\n    id(\"com.github.peterdsp.kujto\") version \"0.1.3\"\n}\n```\n\nFor Flutter, the package is a tooling CLI and should go to pub.dev when it is\nready for public publishing. It should not be an app runtime dependency.\n\n### Commit distance\n\nÇdo commit duhet të ketë një distancë logjike të qartë nga tjetri:\n\n- 1 qëllim për commit.\n- 5 deri 200 rreshta diff si rregull praktik.\n- Ndaje commit-in kur prek dy fusha, për shembull README dhe skript runtime.\n- Mos bëj commit vetëm se kaluan 10 minuta. Bëje kur ka një njësi pune që\n  kompilon, lexohet dhe mund të kthehet mbrapsht më vete.\n- Tag release vetëm kur README, install path dhe smoke test janë në sinkron.\n\nEach commit should have clear logical distance from the next:\n\n- 1 intent per commit.\n- 5 to 200 diff lines as a practical default.\n- Split the commit when it touches two concerns, for example README and a\n  runtime script.\n- Do not commit just because 10 minutes passed. Commit when there is a unit of\n  work that builds, reads cleanly, and can be reverted on its own.\n- Tag a release only when README, install path, and smoke test are aligned.\n\n## Roadmap\n\n### v0.1 (sot / today)\n\n- [x] Memory framework (core, domains/ios, workflows)\n- [x] AGENTS.md + adapter për Claude, Codex, Gemini, Copilot, Cursor\n- [x] `simulator.sh` me auto-detektim të plotë\n- [x] `wire.sh` për integrim me repo\n- [x] CI me shellcheck, no-em-dash guard, bilingual sections guard\n\n### v0.2 (per të ardhmen e afërt / near future)\n- [ ] Pasurim i `memory/domains/ios/`: SwiftUI patterns, performance, accessibility, testing\n- [ ] `snapshots.sh` për regjistrim batch të snapshot-eve\n- [ ] `xcode-cleanup.sh` për DerivedData dhe simulator hygiene\n- [ ] Homebrew formula\n- [ ] CLI i vetëm `kujto` për të gjitha veglat\n\n### v1.0 (zgjerimi / expansion)\n- [ ] `memory/domains/android/` (Kotlin, Compose, Gradle)\n- [ ] `memory/domains/backend/` (Vapor, Express, FastAPI)\n- [ ] `memory/domains/web/` (React, Vue, SvelteKit)\n- [ ] Plugin për Xcode dhe VSCode\n\n## Contributing\n\nPR-të janë të mirëpritura. Lexo [CONTRIBUTING.md](CONTRIBUTING.md) i pari. Të dyja gjuhët duhet të mbeten në sinkron në çdo file.\n\n## License\n\n[MIT](LICENSE). Use it, fork it, ship it.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\nNdertuar me 🦅 ne Tirane dhe Athine nga [@peterdsp](https://github.com/peterdsp).\nBuilt with 🦅 in Tirana and Athens by [@peterdsp](https://github.com/peterdsp).\n\nNese Kujto te kurseu nje komande, lere nje ⭐.\nIf Kujto saved you a command, drop a ⭐.\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterdsp%2Fkujto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpeterdsp%2Fkujto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterdsp%2Fkujto/lists"}