axint
Health Uyari
- License — License: Apache-2.0
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Gecti
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
- Permissions — No dangerous permissions requested
This tool is a compiler that translates TypeScript code into native Swift for Apple platforms, specifically generating App Intents, SwiftUI views, and widgets. It is designed to be used as an MCP server to help AI agents build Apple features efficiently using fewer tokens.
Security Assessment
The overall risk is rated as Low. The automated code scan of 12 files found no dangerous patterns, hardcoded secrets, or requests for elevated permissions. As a compiler, the tool inherently reads local TypeScript files and writes compiled Swift code to your system. While it requires standard filesystem access to read source code and save the output, it does not appear to make unauthorized network requests or access sensitive user data.
Quality Assessment
The project is released under the permissive Apache 2.0 license and was updated very recently, indicating active maintenance by the creator. However, community visibility and trust are currently minimal. With only 5 GitHub stars, this is a very early-stage or niche project that has not yet been widely peer-reviewed or battle-tested by a large developer community.
Verdict
Use with caution: the codebase appears safe and well-licensed, but its extremely low community adoption means it lacks broader security peer review.
TypeScript → native Swift compiler for App Intents, SwiftUI views, WidgetKit widgets, and apps. Open source, Apache 2.0.
Axint
The Apple-native execution layer for AI agents.
Context tells agents what to build. Axint makes it shippable on Apple.
Open-source compiler that turns TypeScript into validated Swift —
App Intents, SwiftUI views, WidgetKit widgets, and full apps.
Website · Playground · Quick Start · MCP Server · Docs · Registry
Why Axint
Apple's API surfaces — App Intents, SwiftUI, WidgetKit — are verbose. A single widget needs a TimelineEntry, a TimelineProvider, an EntryView, and a Widget struct before you've written a line of business logic. AI coding agents pay per token, and all that boilerplate adds up fast.
Axint compresses it. One defineIntent() call replaces 50–200 lines of Swift. One defineWidget() replaces an entire WidgetKit stack. The compiler handles the struct conformances, the @Parameter wrappers, the LocalizedStringResource literals — everything an agent would otherwise have to generate token by token.
Four surfaces, one pipeline:
defineIntent() → App Intent for Siri & Shortcuts
defineView() → SwiftUI view
defineWidget() → WidgetKit widget
defineApp() → Full app scaffold
The result: agents ship Apple features at 5–15× fewer tokens than hand-written Swift.
Quick start
npm install -g @axint/compiler
# compile a single file
axint compile my-intent.ts --out ios/Intents/
# or pipe to stdout
npx @axint/compiler compile my-intent.ts --stdout
Intent
import { defineIntent, param } from "@axint/compiler";
export default defineIntent({
name: "CreateEvent",
title: "Create Calendar Event",
description: "Creates a new event in the user's calendar.",
domain: "productivity",
params: {
title: param.string("Event title"),
date: param.date("Event date"),
duration: param.duration("Event duration", { default: "1h" }),
location: param.string("Location", { required: false }),
},
});
View
import { defineView, prop, state, view } from "@axint/compiler";
export default defineView({
name: "EventCard",
props: {
title: prop.string(),
date: prop.date(),
},
state: {
isExpanded: state.boolean(false),
},
body: [
view.vstack({ alignment: "leading", spacing: 8 }, [
view.text("entry.title"),
view.conditional("isExpanded", [view.text("entry.date")]),
]),
],
});
Widget
import { defineWidget, entry, view } from "@axint/compiler";
export default defineWidget({
name: "EventCountdown",
displayName: "Event Countdown",
description: "Shows time until the next event.",
families: ["systemSmall", "systemMedium"],
entry: {
eventName: entry.string("Untitled"),
minutesUntil: entry.int(0),
},
body: [
view.vstack({ alignment: "center", spacing: 4 }, [
view.text("entry.eventName"),
view.text("entry.minutesUntil"),
]),
],
});
App
import { defineApp, scene, storage } from "@axint/compiler";
export default defineApp({
name: "WeatherApp",
scenes: [
scene.windowGroup("WeatherDashboard"),
scene.settings("SettingsView", { platform: "macOS" }),
],
appStorage: {
useCelsius: storage.boolean("use_celsius", true),
lastCity: storage.string("last_city", "Cupertino"),
},
});
Compile any surface the same way:
axint compile my-intent.ts --out ios/Intents/
axint compile my-view.ts --out ios/Views/
axint compile my-widget.ts --out ios/Widgets/
axint compile my-app.ts --out ios/App/
Watch mode
Recompiles on every save with 150ms debounce, inline errors, and optional swift build after each successful compile:
axint watch ./intents/ --out ios/Intents/ --emit-info-plist --emit-entitlements
axint watch my-intent.ts --out ios/Intents/ --format --swift-build
MCP server
Axint ships an MCP server for Claude Desktop, Claude Code, Cursor, Windsurf, and any MCP client.
{
"mcpServers": {
"axint": {
"command": "axint-mcp",
"args": []
}
}
}
13 tools:
| Tool | What it does |
|---|---|
axint.compile |
Full pipeline: TypeScript → Swift + plist + entitlements |
axint.schema.compile |
Minimal JSON → Swift (token-saving mode for agents) |
axint.validate |
Dry-run validation with diagnostics |
axint.feature |
Generate a complete feature package from a description |
axint.suggest |
Suggest Apple-native features for a domain |
axint.scaffold |
Generate a starter TypeScript intent from a description |
axint.swift.validate |
Validate existing Swift against build-time rules |
axint.swift.fix |
Auto-fix mechanical Swift errors (concurrency, Live Activities) |
axint.create-intent |
Create a new intent from parameters |
axint.create-widget |
Create a new widget from parameters |
axint.templates.list |
List bundled reference templates |
axint.templates.get |
Return the source of a specific template |
axint.quick-start |
Get a quick-start guide |
axint.schema.compile is the key optimization — agents send ~20 tokens of JSON and get compiled Swift back directly, skipping TypeScript entirely.
Diagnostics
150 diagnostic codes across eight validators with fix suggestions and color-coded output:
| Range | Domain |
|---|---|
AX000–AX023 |
Compiler / Parser |
AX100–AX113 |
Intent |
AX200–AX202 |
Swift output |
AX300–AX322 |
View |
AX400–AX422 |
Widget |
AX500–AX522 |
App |
AX700–AX749 |
Swift build rules |
AX720–AX735 |
Swift 6 concurrency |
AX740–AX749 |
Live Activities |
error[AX100]: Intent name "sendMessage" must be PascalCase
--> src/intents/messaging.ts:5:9
= help: rename to "SendMessage"
Full reference: docs/ERRORS.md
Type mappings
| TypeScript | Swift | Default value |
|---|---|---|
string |
String |
✓ |
int |
Int |
✓ |
double |
Double |
✓ |
float |
Float |
✓ |
boolean |
Bool |
✓ |
date |
Date |
— |
duration |
Measurement<UnitDuration> |
✓ ("1h") |
url |
URL |
— |
optional<T> |
T? |
✓ |
Playground
No install required — axint.ai/#playground runs the entire compiler in-browser with zero server round-trip.
Editor extensions
Extensions for Claude Code, Codex, VS Code / Cursor, Windsurf, JetBrains, Neovim, and Xcode.
Project structure
axint/
├── src/
│ ├── core/ # Parser, validator, generator, compiler, IR
│ ├── sdk/ # defineIntent(), defineView(), defineWidget(), defineApp()
│ ├── mcp/ # MCP server (13 tools)
│ ├── cli/ # CLI (compile, watch, validate, eject, init, xcode)
│ └── templates/ # 62 bundled reference templates
├── python/ # Python SDK
├── extensions/ # Editor extensions (9 editors)
├── spm-plugin/ # Xcode SPM build plugin
├── tests/ # ~500 vitest tests
├── examples/ # Example definitions
└── docs/ # Error reference, assets
What's next
Current priorities — full roadmap in ROADMAP.md:
defineExtension()— app extension compilation- Axint Cloud — hosted compilation with team workspaces
- Registry ecosystem — shareable, versioned packages at registry.axint.ai
Contributing
PRs reviewed within 48 hours. Browse good first issue to get started, or see CONTRIBUTING.md.
Apache 2.0, no CLA.
Requirements
- Node.js 22+
- Any OS (macOS, Linux, Windows)
- Xcode 15+ to ship the generated Swift
License
Apache 2.0 — fork it, extend it, ship it.
Built by Agentic Empire · axint.ai
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi