Skip to content
mennoterlaakPublic

About

A native iPad client for self-hosted T3 Code environments.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

SlopLink

SlopLink is a native, iPad-only client for coding-agent sessions running in self-hosted T3 Code environments. It provides a focused SwiftUI workspace for conversations, plans, approvals, terminal sessions, project files, and Git changes without running an agent or checking out source code on the iPad.

Why SlopLink

  • Native iPad interface with keyboard, pointer, accessibility, and multi-window support.
  • Direct connection to infrastructure you operate; there is no SlopLink proxy or hosted control plane.
  • Credentials are stored in the device-only Keychain and workspace state remains host-owned.
  • T3 orchestration data is adapted into strongly typed Swift models instead of embedded web views.
  • Deterministic simulator test lanes cover the app without requiring a live host.

SlopLink intentionally does not provision machines, manage DNS or VPNs, store provider credentials, or run coding-agent CLIs locally.

Relationship to T3 Code

SlopLink is an independent client built to interoperate with the open-source T3 Code project. Thank you to T3 Tools Inc. and the T3 Code contributors for building and openly licensing the host that makes SlopLink possible. T3 Code is available under its MIT License.

SlopLink is not an official T3 Code client and is not affiliated with or endorsed by T3 Tools Inc. This repository does not redistribute T3 Code.

Requirements

  • macOS with Xcode 27 and the iPadOS 27 SDK
  • XcodeGen 2.45.4
  • an iPadOS 27 simulator for normal development and validation

Quick start

make project
make check
make build
make test-fast

project.yml is the source of truth. make project regenerates the committed SlopLink.xcodeproj; the generated project file should never be edited by hand.

Local Apple signing

The repository contains neutral bundle and storage identifiers and no Apple account configuration. Simulator builds work with those defaults. For a physical device, create an ignored local configuration:

cp Configuration/Local.xcconfig.example Configuration/Local.xcconfig

Replace the placeholders in Local.xcconfig with identifiers registered to your own Apple Developer account. Never commit that file, provisioning profiles, certificates, or App Store Connect credentials.

Development commands

make format          # apply the repository's swift-format rules
make lint            # verify Swift formatting without changing files
make test-unit       # deterministic unit tests
make test-ui         # deterministic UI tests
make test-extended   # complete deterministic simulator suite
make test-live       # tests that require a paired host or device lifecycle

Set TEST_WORKERS=1 when reproducing a UI failure serially. The simulator is the default validation target; use a physical iPad only for behavior that cannot be exercised in the simulator.

For the incremental run loop:

make dev-sim
make dev-device

Architecture

The source is grouped by responsibility:

  • SlopLink/App owns composition and application state.
  • SlopLink/Models contains transport-independent domain models and parsers.
  • SlopLink/Services/T3 adapts the authenticated T3 HTTP, RPC, and event contracts.
  • SlopLink/Views contains native SwiftUI surfaces.
  • SlopLinkTests and SlopLinkUITests provide deterministic regression coverage.

See Architecture for the data flow and trust boundaries, and Releasing for account-neutral archive validation.

Contributing and security

Contributions are welcome; see CONTRIBUTING.md. Please use GitHub's private vulnerability reporting for security issues as described in SECURITY.md.

SlopLink is available under the MIT License.

About

A native iPad client for self-hosted T3 Code environments.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages