Skip to content

peterdsp/kujto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kujto Studio

Kujto Studio

The local memory layer that stops AI agents and developers from breaking your codebase rules.

Reads your repo's memory, then shows the rules that apply before you touch a file. Architecture, risks, related tests, and the agent context to inject, in one panel.

License: MIT macOS 14+ Swift 6.2 Tests Site Stars

Product · Install · CLI · Memory format · Development · Roadmap


Product

Every repo has hidden rules. New agents forget them. New developers miss them. Old decisions live in PRs, README files, Slack threads, AGENTS.md, CLAUDE.md, and a dozen scattered docs. Kujto Studio scans that mess and turns it into a living memory map.

The killer screen is not a chat. You select HomeReducer.swift or CheckoutFeature.swift, and Kujto Studio shows:

  • The architecture rules that apply, ranked by specificity of the glob match
  • Risk tags (payment, auth, onboarding), the tests to run, related modules
  • A confidence verdict: safe, needs context, or danger zone
  • The agent context to inject into Claude, Codex, or Cursor with one click

Four surfaces, one engine. The same memory index drives all of these:

Surface Status
Standalone Mac app (SwiftUI) Builds; first-run wizard + Settings + status detection shipped
Xcode Source Editor extension Builds; Editor > Kujto > Show Rules for This File
VS Code / Cursor extension integrations/vscode/, publishes to the Marketplace
kujto CLI Ships today; six memory commands (see below)

Local-only indexing. Nothing leaves your machine.


Install

The CLI is the fastest path today. The Mac app is buildable from source; join the beta by starring the repo.

CLI, one line

curl -fsSL https://raw.githubusercontent.com/peterdsp/kujto/main/bin/install.sh | bash

This wires Kujto's AGENTS.md into every supported agent's home directory (~/.claude/CLAUDE.md, ~/.codex/AGENTS.md, ~/.gemini/GEMINI.md, etc.) via symlinks. No duplication.

Mac app, from source

Requires Xcode 15+ and XcodeGen.

git clone https://github.com/peterdsp/kujto.git
cd kujto/integrations/xcode-extension
xcodegen generate
open KujtoStudio.xcodeproj

In Xcode, pick your Team in Signing & Capabilities for both the KujtoStudio app target and the KujtoRulesExtension target, then run. The first launch shows a four-step welcome wizard that detects the CLI, the Xcode extension, and any installed VS Code or Cursor extension.

VS Code and Cursor

VS Code extensions run in every VS Code fork including Cursor. From integrations/vscode/, package with npx vsce package or publish with npx vsce publish.


CLI

Six memory commands, plus the original wire/unwire surface. Every command supports --json for machine-readable NDJSON output.

kujto rules App/Sources/Home/HomeReducer.swift
#   > TCA (The Composable Architecture)
#       memory/domains/ios/architectures/tca.md  (matched **/*Reducer.swift)

kujto map
#   Memory map: /path/to/repo
#     AGENTS.md: yes    MEMORY.md: yes
#     memory files: 41  skills: 3
#     scoped rules (4): TCA, Navigation, Snapshot testing, Prototyping
#     base memory (40 files, read every session)

kujto lint
#   ! [warning] memory/domains/ios/architectures/tca.md: applies_to glob
#     **/*Reducer.swift matches no file in the repo.  (unmatched_glob)

kujto agents
#   ! AGENTS.md: foreign
#   ✓ CLAUDE.md: linked -> AGENTS.md
#   ✓ CODEX.md:  linked -> AGENTS.md
#   ✓ GEMINI.md: linked -> AGENTS.md

Full command list:

Command What it does
kujto rules <file> Rules that apply to a file, ranked by glob specificity
kujto map Memory map: scoped rules, base memory, risk tags
kujto lint Missing governance files, unmatched globs, broken [[wiki]] links
kujto agents Wire status per agent (linked, foreign, not_present)
kujto wire / kujto unwire Symlink or remove AGENTS.md/CLAUDE.md/CODEX.md/GEMINI.md
kujto root Print the Kujto installation root
kujto context Inspect the current Xcode workspace/scheme
kujto build / run / test / logs / clean Xcode toolchain orchestrator (NDJSON events)
kujto simulator / device / ui Simulator control, device install, UI automation

Memory format

The keystone of Kujto Studio is file-scoped rules. Memory and skill files carry frontmatter that maps them to source paths:

---
applies_to:
  - "**/*Reducer.swift"
  - "**/Checkout*/**"
risk: payment
---

# TCA architecture

Effects must be cancellable on `onDisappear`.
Never mutate state from a view.
Payment reducers need a shadow log entry: see [[payment_audit_log]].

Rules without applies_to are base memory, read every session (the MEMORY.md index, writing style, safety rules). Rules with applies_to are scoped: they only surface when a matching file is inspected. [[wiki_link]] references to other memory files are validated by kujto lint.

Repository layout

Sources/
  KujtoCore/          RuleIndex, MemoryMap, MemoryLinter, AgentExport, Wire
  KujtoCLI/           Command definitions for the kujto binary
Tests/
  KujtoCoreTests/     45 tests covering the entire engine
memory/
  MEMORY.md           the index; read after AGENTS.md
  core/               writing style, safety, git, handoff
  domains/ios/        Swift, TCA, snapshots, navigation, 12 architecture guides
  domains/web/        Mburoja: full web-security playbook (XSS, CSRF, SSRF, JWT, ...)
  workflows/          answer order, PR descriptions, git hygiene
skills/               named procedures (prototyping loop, Mburoja audit, ...)
integrations/
  xcode-extension/    the Mac app, the Source Editor extension, the shared bridge
  vscode/             the VS Code / Cursor extension
  claude/ codex/ gemini/ copilot/ cursor/
                      per-agent wiring adapters
site/                 kujto.peterdsp.dev source
bin/                  install.sh, wire.sh, simulator.sh, skills/install-skills.sh

Development

# CLI + engine
xcrun swift build
xcrun swift test        # 45 tests, all green

# Mac app + Xcode extension
cd integrations/xcode-extension
xcodegen generate
xcrun xcodebuild -project KujtoStudio.xcodeproj -scheme KujtoStudio \
  -destination "platform=macOS" build

# Preview the marketing site
cd site && python3 -m http.server 8000 && open http://localhost:8000

The CI pipeline runs swift build, swift test, ShellCheck, a no-em-dash guard, an applies_to frontmatter validator, and a commit-message trailer policy on every push to main.

Contributing

The base language is English. The no-em-dash rule is an identity rule enforced by CI. See CONTRIBUTING.md for the PR process and style rules. Never mention AI assistants in commit messages; the trailer-policy CI job will fail the build.


Roadmap

  • Beta: Mac app on TestFlight, VS Code / Cursor extension in the Marketplace
  • TCA reducer graph (paid tier): SwiftSyntax pass mapping State, Action, dependency clients, and navigation
  • Menu bar helper and App Intents for Shortcuts (Summarize repo rules, Prepare agent context)
  • Spotlight indexing of memory and rules
  • Team memory templates: share and version conventions across a team without duplicating memory

License

MIT. Built by @peterdsp.

Kujto is Albanian for "remember." The product is named for what it does: keep the memory of your codebase in front of every editor and every agent, before they touch the file.

About

Versioned memory for AI coding agents. Teach Claude, Codex, Gemini, Copilot & Cursor your rules once, they remember forever. Bilingual (Albanian/English), git-native, MIT. Ships with Mburoja 🛡, a battle-tested web-security playbook. Made in Tirana 🦅

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors