Skip to content

Repository files navigation

(xiaoland's) Crafting Table

Crafting Table is an early-stage native personal workbench. macOS is the first active platform and iPad is the second. The current foundation intentionally presents no workflow capability while the project is reconstructed around clear application and Core boundaries.

Short form: Crafting Table Abbreviation: CT Current app version: 0.1.0

This repository is personal/internal software. It is useful as a working app foundation and technical playground for a tech user who wants their own productivity surface, but it is not packaged as a consumer product yet.

Current Product Surface

  • native macOS and iPad application shells;
  • the Crafting Table product identity;
  • an honest foundation workbench with a secondary ct-core integration marker.

Repository Layout

apps/apple/macOS/           SwiftUI macOS app source
apps/apple/iPad/            SwiftUI iPad app source
apps/apple/CraftingTable.xcodeproj/
                            Apple Xcode project
apps/apple/CTCoreIntegration/
                            One reviewed generated Core facade
packages/core/              Active Rust CTCore foundation
assets/brand/AppIcon.png    Canonical active shell identity
archive/codex-remote/       Disconnected retired Codex Remote implementation
archive/local-llm/          Disconnected retired Local LLM implementation
scripts/                    Local launch and deterministic brand helpers
docs/                       Sparse product and technical truth
tasks/                      Volatile task packets and implementation notes

Requirements

  • macOS with Xcode installed.
  • iOS Simulator or a connected iPad.
  • Swift toolchain available through Xcode.
  • Rust 1.93.0 for the retained CTCore boundary.
  • Network access only for explicit toolchain/dependency bootstrap when local caches are absent.

The deployment floors are macOS 14 and iPadOS 17. The final reconstruction was verified with Xcode 26.2.

Build And Launch

Build and launch macOS, the first platform:

./scripts/launch-macos.sh

Build for a generic iOS Simulator destination on the second platform:

xcodebuild \
  -project apps/apple/CraftingTable.xcodeproj \
  -scheme CraftingTable \
  -destination 'generic/platform=iOS Simulator' \
  -derivedDataPath .build/DerivedData \
  CODE_SIGNING_ALLOWED=NO \
  build

Launch on an available iPad simulator:

./scripts/launch-ipad-simulator.sh

By default this prefers iPad Pro 11-inch (M4). Override the simulator name with:

SIMULATOR_NAME='iPad Pro 13-inch (M5)' ./scripts/launch-ipad-simulator.sh

Build, install, and launch on a connected iPad:

./scripts/launch-ipad-device.sh

If Xcode cannot infer your team, pass it explicitly:

DEVELOPMENT_TEAM='<team-id>' ./scripts/launch-ipad-device.sh

App Icon

assets/brand/AppIcon.png is the sole checked-in identity source for active shells. To distribute its deterministic, network-free native derivatives explicitly:

xcrun --sdk macosx swift ./scripts/brand/distribute-app-icon.swift

Normal Xcode builds consume the checked-in asset catalogs and never fetch or generate identity assets.

CTCore Apple Integration

Both Apple targets compile the same reviewed UniFFI facade and depend on the one CTCoreAppleArtifact producer. Prepare Apple Rust targets and the locked dependency cache explicitly on a new machine:

./scripts/bootstrap-ctcore-apple.sh

That command may use the network. Normal Xcode builds invoke the locked/offline producer and never update tracked generated source. An intentional Core facade change uses:

./scripts/build-ctcore-apple.sh --update-generated

Review the generated diff before continuing. The current probe is temporary integration evidence, not a product capability or health API.

Retired Implementations

Codex Remote and Local LLM are disconnected source archives under archive/. They are not active product surfaces, normal build dependencies, or support promises.

Useful Development Commands

Run the affected Core checks:

cargo fmt --manifest-path packages/core/Cargo.toml --check
cargo clippy --manifest-path packages/core/Cargo.toml --locked --offline --lib -- -D warnings
cargo check --manifest-path packages/core/Cargo.toml --locked --offline --lib

Codex App local environment actions are declared in:

.codex/environments/environment.toml

Current Boundaries

Crafting Table is still a foundation repo. The durable product truth lives in docs/10-prd/; cross-unit technical truth lives in docs/20-product-tdd/; task-local exploration and implementation notes live in tasks/.

When contributing, keep changes small, reversible, and honest. Prefer native SwiftUI patterns, avoid speculative architecture, and keep unfinished surfaces visibly unfinished.

For fast local diagnosis, each Apple App owner emits one lifecycle and one Core-boundary signal through Apple unified logging. Launchers print the matching direct inspection command; the applications own no log store, telemetry, analytics, or diagnostics UI.

License

No license has been declared yet.

About

蓝汁酱的工作台,包括 Codex Remote, Local LLM, Goal Forest 等功能,支持 iOS, Android, Windows 等多个平台

Resources

Stars

Watchers

Forks

Releases

Contributors

Languages