@maccesar/titools 5.3.0 → 5.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONTRIBUTING.md +1 -1
- package/README.md +31 -60
- package/agents/ti-pro.md +3 -1
- package/commands/ti-audit.md +6 -4
- package/docs/examples.md +9 -0
- package/docs/knowledge-index.md +2 -1
- package/lib/config.js +1 -0
- package/package.json +1 -1
- package/skills/alloy-guides/SKILL.md +18 -179
- package/skills/alloy-guides/references/CLI_TASKS.md +17 -216
- package/skills/alloy-guides/references/CONCEPTS.md +27 -162
- package/skills/alloy-guides/references/CONTROLLERS.md +38 -236
- package/skills/alloy-guides/references/MODELS.md +47 -723
- package/skills/alloy-guides/references/MODELS_ADVANCED.md +21 -482
- package/skills/alloy-guides/references/VIEWS_DYNAMIC.md +12 -222
- package/skills/alloy-guides/references/VIEWS_STYLES.md +39 -358
- package/skills/alloy-guides/references/VIEWS_XML.md +36 -552
- package/skills/alloy-guides/references/WIDGETS.md +49 -127
- package/skills/alloy-howtos/SKILL.md +14 -169
- package/skills/alloy-howtos/references/best_practices.md +9 -113
- package/skills/alloy-howtos/references/cli_reference.md +18 -223
- package/skills/alloy-howtos/references/config_files.md +50 -133
- package/skills/alloy-howtos/references/debugging_troubleshooting.md +19 -63
- package/skills/alloy-howtos/references/samples.md +21 -138
- package/skills/ti-api/SKILL.md +10 -2
- package/skills/ti-api/references/api-android.md +36 -2
- package/skills/ti-api/references/api-app-platform.md +39 -3
- package/skills/ti-api/references/api-core.md +50 -18
- package/skills/ti-api/references/api-data-network.md +49 -35
- package/skills/ti-api/references/api-media.md +45 -27
- package/skills/ti-api/references/api-services.md +39 -9
- package/skills/ti-api/references/api-ui-android.md +33 -13
- package/skills/ti-api/references/api-ui-extras.md +41 -15
- package/skills/ti-api/references/api-ui-ios-animator.md +42 -26
- package/skills/ti-api/references/api-ui-ios.md +74 -2
- package/skills/ti-api/references/api-ui-lists.md +32 -16
- package/skills/ti-api/references/api-ui-text-input.md +34 -17
- package/skills/ti-api/references/api-ui-views.md +27 -1
- package/skills/ti-api/references/api-ui-windows-navigation.md +32 -18
- package/skills/ti-api/references/api-xml-global.md +66 -16
- package/skills/ti-create-release/SKILL.md +98 -0
- package/skills/ti-create-release/references/module-discovery.md +69 -0
- package/skills/ti-expert/references/adaptive-layouts.md +1 -1
- package/skills/ti-guides/SKILL.md +37 -76
- package/skills/ti-guides/references/advanced-data-and-images.md +122 -126
- package/skills/ti-guides/references/android-manifest.md +24 -83
- package/skills/ti-guides/references/app-distribution.md +31 -377
- package/skills/ti-guides/references/application-frameworks.md +127 -335
- package/skills/ti-guides/references/cli-reference.md +184 -633
- package/skills/ti-guides/references/commonjs-advanced.md +81 -231
- package/skills/ti-guides/references/compatibility-matrix.md +36 -75
- package/skills/ti-guides/references/hello-world.md +95 -70
- package/skills/ti-guides/references/hyperloop-native-access.md +52 -448
- package/skills/ti-guides/references/resources.md +174 -142
- package/skills/ti-guides/references/sdk-release-notes.md +28 -71
- package/skills/ti-guides/references/tiapp-config.md +222 -598
- package/skills/ti-howtos/SKILL.md +23 -123
- package/skills/ti-howtos/references/cross-platform-development.md +119 -324
- package/skills/ti-howtos/references/debugging-profiling.md +77 -445
- package/skills/ti-howtos/references/extending-titanium.md +199 -673
- package/skills/ti-howtos/references/local-data-sources.md +87 -300
- package/skills/ti-howtos/references/location-and-maps.md +86 -213
- package/skills/ti-howtos/references/media-apis.md +103 -223
- package/skills/ti-howtos/references/notification-services.md +86 -506
- package/skills/ti-howtos/references/remote-data-sources.md +97 -316
- package/skills/ti-howtos/references/using-modules.md +77 -133
- package/skills/ti-ui/SKILL.md +28 -143
- package/skills/ti-ui/references/icons-and-splash-screens.md +74 -403
- package/skills/ti-ui/references/layouts-and-positioning.md +175 -402
- package/skills/ti-ui/references/listviews-and-performance.md +100 -703
- package/skills/ti-ui/references/platform-conventions.md +180 -0
- package/skills/ti-ui/references/user-interface.md +43 -0
- package/skills/alloy-guides/references/VIEWS_WITHOUT_CONTROLLERS.md +0 -102
- package/skills/alloy-howtos/references/custom_tags.md +0 -148
- package/skills/ti-guides/references/coding-best-practices.md +0 -149
- package/skills/ti-guides/references/javascript-primer.md +0 -414
- package/skills/ti-guides/references/reserved-words.md +0 -36
- package/skills/ti-guides/references/style-and-conventions.md +0 -103
- package/skills/ti-howtos/references/android-platform-deep-dives.md +0 -624
- package/skills/ti-howtos/references/automation-fastlane-appium.md +0 -96
- package/skills/ti-howtos/references/buffer-codec-streams.md +0 -162
- package/skills/ti-howtos/references/google-maps-v2.md +0 -172
- package/skills/ti-howtos/references/ios-map-kit.md +0 -149
- package/skills/ti-howtos/references/ios-platform-deep-dives.md +0 -611
- package/skills/ti-howtos/references/tutorials.md +0 -565
- package/skills/ti-howtos/references/web-content-integration.md +0 -287
- package/skills/ti-howtos/references/webpack-build-pipeline.md +0 -124
- package/skills/ti-ui/references/accessibility-deep-dive.md +0 -288
- package/skills/ti-ui/references/animation-and-matrices.md +0 -569
- package/skills/ti-ui/references/application-structures.md +0 -626
- package/skills/ti-ui/references/custom-fonts-styling.md +0 -549
- package/skills/ti-ui/references/event-handling.md +0 -401
- package/skills/ti-ui/references/gestures.md +0 -448
- package/skills/ti-ui/references/orientation.md +0 -374
- package/skills/ti-ui/references/platform-ui-android.md +0 -727
- package/skills/ti-ui/references/platform-ui-ios.md +0 -576
- package/skills/ti-ui/references/scrolling-views.md +0 -288
- package/skills/ti-ui/references/tableviews.md +0 -542
package/CONTRIBUTING.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Contributing to TiTools
|
|
2
2
|
|
|
3
|
-
TiTools distributes
|
|
3
|
+
TiTools distributes fourteen Titanium SDK skills, a research agent and slash
|
|
4
4
|
commands through an npm CLI and a Claude Code marketplace plugin. Product
|
|
5
5
|
content lives in `skills/`, `agents/` and `commands/`; CLI source lives in
|
|
6
6
|
`bin/` and `lib/`. Both channels use this source tree.
|
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
</div>
|
|
8
8
|
|
|
9
|
-
TiTools is a Titanium SDK toolkit for AI coding assistants. It ships
|
|
9
|
+
TiTools is a Titanium SDK toolkit for AI coding assistants. It ships 14 skills — 9 specialist skills (`ti-reuse-first`, `ti-expert`, `purgetss`, `ti-ui`, `ti-game`, `ti-game-assets`, `ti-synthengine`, `ti-admob-unified`, `ti-create-release`) plus 5 documentation-mirror skills (`ti-api`, `ti-guides`, `ti-howtos`, `alloy-guides`, `alloy-howtos`) — a research agent, and reference files covering reuse and simplification, Titanium architecture, API reference, native how-tos, Alloy MVC, PurgeTSS styling and resource automation, UI/UX patterns, 2D games, and native sound synthesis.
|
|
10
10
|
|
|
11
11
|
The reference files are maintained against official documentation whenever an official source exists, so the assistant can retrieve current framework behavior instead of guessing from generic training data. As of v5.0.0 those sources are the Titanium SDK's own API definitions and the rewritten guides at [titaniumsdk.com](https://titaniumsdk.com). [Where the references come from](#where-the-references-come-from) has the detail.
|
|
12
12
|
|
|
@@ -36,7 +36,7 @@ The fastest way to get started with Claude Code. One command to add the marketpl
|
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
What you get:
|
|
39
|
-
- All
|
|
39
|
+
- All 14 TiTools skills (`ti-reuse-first`, `ti-expert`, `purgetss`, `ti-ui`, `ti-game`, `ti-game-assets`, `ti-synthengine`, `ti-admob-unified`, `ti-create-release`, `ti-api`, `ti-guides`, `ti-howtos`, `alloy-guides`, `alloy-howtos`)
|
|
40
40
|
- ti-pro research agent
|
|
41
41
|
- Session hook that auto-detects Titanium projects (`tiapp.xml`, Alloy, PurgeTSS, `ti.game`, `ti.synthengine`)
|
|
42
42
|
- Slash commands: `/ti-check`, `/ti-new-screen`, `/ti-audit`
|
|
@@ -70,7 +70,7 @@ claude # or gemini, or codex
|
|
|
70
70
|
```
|
|
71
71
|
|
|
72
72
|
What gets installed:
|
|
73
|
-
- The
|
|
73
|
+
- The 14 TiTools skills to `~/.agents/skills/`
|
|
74
74
|
- ti-pro agent for Claude Code
|
|
75
75
|
- Platform symlinks for Claude Code (Gemini CLI and Codex CLI auto-discover from `~/.agents/skills/` — no symlinks needed)
|
|
76
76
|
- Knowledge index in your project's `AGENTS.md`/`CLAUDE.md`/`GEMINI.md`
|
|
@@ -174,14 +174,15 @@ The knowledge index is based on the latest Titanium SDK documentation. If your p
|
|
|
174
174
|
| ti-game-assets | Visual and sound assets | Image generation/editing, synthesis variants, stereo placement, alpha cleanup, manifests, parallax and complete exports |
|
|
175
175
|
| ti-synthengine | Sound design with `ti.synthengine` | TiSynth 2.0 reusable Sound presets, independent playback controls, tones/chords, held notes, native repetitions/patterns, ADSR, FM, filters, binaural positioning, shared effects, variation, TypeScript and troubleshooting |
|
|
176
176
|
| ti-admob-unified | Advertising, privacy and mediation | Official `ti.admob.unified` guides, copy-ready library, banners/fullscreen, UMP/ATT and selected-provider configuration |
|
|
177
|
-
| ti-
|
|
177
|
+
| ti-create-release | Native module releases | Build and verify ZIPs, follow repository release conventions, publish authorized GitHub releases and configure directory discovery |
|
|
178
|
+
| ti-api | Titanium API lookup | Looking up properties, methods, events |
|
|
178
179
|
| ti-guides | SDK fundamentals | tiapp.xml, Hyperloop, distribution, JDK/Xcode compatibility, release notes |
|
|
179
180
|
| ti-howtos | Native feature integration | Location, push, media, platform APIs |
|
|
180
181
|
| alloy-guides | Alloy MVC framework reference | Controllers, models, views, widgets |
|
|
181
|
-
| alloy-howtos | Alloy CLI, configuration, debugging | alloy.jmk, config.json,
|
|
182
|
+
| alloy-howtos | Alloy CLI, configuration, debugging | alloy.jmk, config.json, build constants and debugging |
|
|
182
183
|
|
|
183
184
|
Notes:
|
|
184
|
-
- The first
|
|
185
|
+
- The first nine (`ti-reuse-first`, `ti-expert`, `purgetss`, `ti-ui`, `ti-game`, `ti-game-assets`, `ti-synthengine`, `ti-admob-unified`, `ti-create-release`) are specialist workflow skills reflecting TiTools' Titanium conventions and native-module contracts.
|
|
185
186
|
- `ti-reuse-first` runs before the others. It asks whether a thing needs to exist and what already does it — a search order that stops at the first rung that holds — and sweeps an existing `app/` for near-identical controllers, single-listener events, wrappers around one call, and layout recomputed in JavaScript. It is deliberately two-sided: it says when adding a module or a Widget is the right answer, so the bias does not simply invert.
|
|
186
187
|
- `ti-game` documents the `ti.game` native module (2D sprite engine using OpenGL ES 2.0 on Android and Metal on iPhone, iPad and Mac Catalyst). Its API reference was verified against the module source and records the reviewed upstream commit and fork documentation snapshot; it applies to Alloy and Classic projects alike and does not depend on PurgeTSS.
|
|
187
188
|
- `ti-synthengine` translates sound requests into checked JavaScript for published Android/iOS `ti.synthengine` 2.0.0. It covers reusable Sound definitions, independent held/repetition/pattern controls, atomic preset edits, temporary overrides, processing units and migration from supported direct methods. Practical references, curated recipes, runnable examples and TypeScript declarations support implementation and troubleshooting.
|
|
@@ -193,24 +194,28 @@ Notes:
|
|
|
193
194
|
|
|
194
195
|
## Where the references come from
|
|
195
196
|
|
|
196
|
-
The Titanium documentation was rewritten during 2026, and v5.0.0 moved TiTools onto the new sources.
|
|
197
|
+
The Titanium documentation was rewritten during 2026, and v5.0.0 moved TiTools onto the new sources. The current guide and UI skills follow what the new official site publishes. Historical recipes that have not been ported are excluded from these skills.
|
|
197
198
|
|
|
198
199
|
| Source | Feeds | Why it is the one |
|
|
199
200
|
| ------------------------------------------------------------------------------------- | -------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
|
|
200
201
|
| [`tidev/titanium-sdk`](https://github.com/tidev/titanium-sdk) → `apidoc/*.yml` | `ti-api` | The API definitions the SDK team edits. Every other copy of the API is compiled from these. |
|
|
201
|
-
| [`tidev/titaniumsdk.com`](https://github.com/tidev/titaniumsdk.com) → `content/docs/` | `ti-guides`, `ti-howtos`, `alloy-guides`, `alloy-howtos` | The rewritten guides, and what [titaniumsdk.com](https://titaniumsdk.com) serves. |
|
|
202
|
+
| [`tidev/titaniumsdk.com`](https://github.com/tidev/titaniumsdk.com) → `content/docs/` | `ti-guides`, `ti-howtos`, `alloy-guides`, `alloy-howtos`, `ti-ui` | The rewritten guides, and what [titaniumsdk.com](https://titaniumsdk.com) serves. |
|
|
202
203
|
| `tidev/titaniumsdk.com` → `registry/sdk/<version>/` | `ti-api`, as a cross-check | The API compiled per published release. It answers which version actually shipped an API, which the YAML alone cannot. |
|
|
203
|
-
| [`tidev/titanium-docs`](https://github.com/tidev/titanium-docs) |
|
|
204
|
+
| [`tidev/titanium-docs`](https://github.com/tidev/titanium-docs) | historical provenance only | The previous corpus; excluded from current guide/UI content. |
|
|
204
205
|
|
|
205
206
|
### Why the API comes from the SDK
|
|
206
207
|
|
|
207
208
|
The website does not write API documentation. It compiles it from `apidoc/*.yml` and commits the result, so it trails the SDK by construction. `ti-api` reads the YAML for what exists and the compiled registry for which release shipped it, and documents the newest GA rather than `main`. An API merged into the SDK today reaches these references when the release carrying it ships, because until then you cannot call it.
|
|
208
209
|
|
|
209
|
-
###
|
|
210
|
+
### Current guides and API verification
|
|
210
211
|
|
|
211
|
-
|
|
212
|
+
Use [llms.txt](https://titaniumsdk.com/llms.txt) to discover official routes and append `.md` to a guide URL to read its Markdown representation. The new documentation source is `tidev/titaniumsdk.com`.
|
|
212
213
|
|
|
213
|
-
|
|
214
|
+
`ti-guides`, `ti-howtos`, `alloy-guides`, `alloy-howtos` and `ti-ui` include current official guide topics. They do not supplement missing sections with the old `titanium-docs` corpus or unpublished community recipes. Topics can return when the official site publishes them.
|
|
215
|
+
|
|
216
|
+
A guide's scope does not guarantee every example is correct. References identify verified conflicts with released API/compiler contracts, including Alloy configuration precedence and hooks, notification registration and safe-area defaults. The core API baseline is SDK 13.4.1.GA, with explicit version links; unreleased SDK 14 features remain excluded. Native modules have independent versions and authorities.
|
|
217
|
+
|
|
218
|
+
PurgeTSS and the native-module skills retain their own official sources and declared curated resources. Their source policies are independent of the website migration.
|
|
214
219
|
|
|
215
220
|
---
|
|
216
221
|
|
|
@@ -220,14 +225,14 @@ In addition to skills, this repository includes sub-agents for Claude Code. Sub-
|
|
|
220
225
|
|
|
221
226
|
### ti-pro
|
|
222
227
|
|
|
223
|
-
Deep-dive research specialist that can combine the complete
|
|
228
|
+
Deep-dive research specialist that can combine the complete 14-skill TiTools catalog.
|
|
224
229
|
|
|
225
230
|
| Aspect | Details |
|
|
226
231
|
| ---------------- | ------------------------------------------- |
|
|
227
232
|
| Location | `~/.claude/agents/ti-pro.md` |
|
|
228
233
|
| Model | Sonnet (comprehensive analysis) |
|
|
229
234
|
| Tools | Read, Grep, Glob, Bash |
|
|
230
|
-
| Preloaded Skills | All
|
|
235
|
+
| Preloaded Skills | All 14 skills registered in `lib/config.js` |
|
|
231
236
|
|
|
232
237
|
When to use the agent vs skills:
|
|
233
238
|
|
|
@@ -269,7 +274,7 @@ TiTools provides slash commands for common tasks. Both channels ship them: the p
|
|
|
269
274
|
These commands automatically invoke the relevant skills:
|
|
270
275
|
- `/ti-check` reads `tiapp.xml`, validates declared native modules, and reports project health
|
|
271
276
|
- `/ti-new-screen` uses `ti-expert` + `purgetss` to create properly structured files
|
|
272
|
-
- `/ti-audit` routes all
|
|
277
|
+
- `/ti-audit` routes all 14 skills: the reuse sweep first, core Titanium checks always, Alloy/PurgeTSS checks when detected, integration how-tos when used, `ti-game-assets` checks for game asset workflows, and `ti-game` / `ti-synthengine` / `ti-admob-unified` checks when those modules are declared
|
|
273
278
|
|
|
274
279
|
---
|
|
275
280
|
|
|
@@ -331,11 +336,12 @@ Why this matters:
|
|
|
331
336
|
| Whether to build it at all | `ti-reuse-first`, first |
|
|
332
337
|
| Architecture and UI | `ti-expert`, `ti-ui`, `purgetss` when configured |
|
|
333
338
|
| Game assets | `ti-game-assets` for visual and sound creation, preparation and integration |
|
|
339
|
+
| Native module releases | `ti-create-release` when preparing or publishing a module release |
|
|
334
340
|
| Native modules | `ti-game`, `ti-synthengine`, `ti-admob-unified` when declared or requested |
|
|
335
341
|
| Exact SDK/API guidance | `ti-api`, `ti-guides`, `ti-howtos` |
|
|
336
342
|
| Alloy MVC and tooling | `alloy-guides`, `alloy-howtos` for Alloy projects |
|
|
337
343
|
|
|
338
|
-
All
|
|
344
|
+
All fourteen ship with TiTools; no second skill package is required.
|
|
339
345
|
|
|
340
346
|
---
|
|
341
347
|
|
|
@@ -679,7 +685,7 @@ Behavior depends on where you run it:
|
|
|
679
685
|
| With `--local` flag | Installs skills locally to `./.agents/skills/` in the current project |
|
|
680
686
|
|
|
681
687
|
What it does:
|
|
682
|
-
- Installs the
|
|
688
|
+
- Installs the 14 TiTools skills (global or local depending on context)
|
|
683
689
|
- Installs ti-pro agent for Claude Code
|
|
684
690
|
- Installs the `/ti-check`, `/ti-new-screen` and `/ti-audit` slash commands into `~/.claude/commands/`
|
|
685
691
|
- Detects installed AI platforms and lets you choose which to link (only Claude Code needs platform symlinks; Gemini CLI and Codex CLI auto-discover from `~/.agents/skills/`)
|
|
@@ -840,45 +846,9 @@ titools --version # CLI version only
|
|
|
840
846
|
|
|
841
847
|
---
|
|
842
848
|
|
|
843
|
-
##
|
|
844
|
-
|
|
845
|
-
The TiTools skills include **Community-Discovered Patterns** — verified iOS behaviors not present in the official Titanium documentation. These sections are protected from removal during skill audits.
|
|
846
|
-
|
|
847
|
-
### Large Title + ScrollView (iOS)
|
|
848
|
-
|
|
849
|
-
When using Large Titles with a ScrollView inside NavigationWindow or TabGroup, three Window properties must be set together. Without all three, the ScrollView content overlaps behind the navigation bar — or the large title renders with a visible delay.
|
|
850
|
-
|
|
851
|
-
| Class | Property | Purpose |
|
|
852
|
-
| -------------------------------- | ---------------------------- | ----------------------------------------------------- |
|
|
853
|
-
| `auto-adjust-scroll-view-insets` | `autoAdjustScrollViewInsets` | Adjusts ScrollView insets to prevent content overlap |
|
|
854
|
-
| `extend-edges-all` | `extendEdges` | Content extends behind bars (blur/translucent effect) |
|
|
855
|
-
| `large-title-enabled` | `largeTitleEnabled` | Large title that collapses on scroll |
|
|
856
|
-
|
|
857
|
-
**Recommended:** set the base properties as global Window defaults in `config.cjs`:
|
|
858
|
-
|
|
859
|
-
```js
|
|
860
|
-
module.exports = {
|
|
861
|
-
theme: {
|
|
862
|
-
Window: {
|
|
863
|
-
ios: {
|
|
864
|
-
apply: 'auto-adjust-scroll-view-insets extend-edges-all status-bar-style-light-content'
|
|
865
|
-
}
|
|
866
|
-
}
|
|
867
|
-
}
|
|
868
|
-
};
|
|
869
|
-
```
|
|
870
|
-
|
|
871
|
-
Then only add `large-title-enabled` per-window as needed:
|
|
872
|
-
|
|
873
|
-
```xml
|
|
874
|
-
<Window title="Home" class="large-title-enabled">
|
|
875
|
-
<ScrollView class="vertical w-screen" contentHeight="Ti.UI.SIZE">
|
|
876
|
-
<!-- Content starts below the nav bar automatically -->
|
|
877
|
-
</ScrollView>
|
|
878
|
-
</Window>
|
|
879
|
-
```
|
|
849
|
+
## Curated resources
|
|
880
850
|
|
|
881
|
-
|
|
851
|
+
Specialist skills such as PurgeTSS, native games and synthesis retain their declared practical resources and their own source authorities. The website-based guide/UI skills follow current official documentation only; they do not carry archived-only or community-only sections.
|
|
882
852
|
|
|
883
853
|
---
|
|
884
854
|
|
|
@@ -889,16 +859,17 @@ This pattern is documented across four bundled TiTools skills: `ti-ui`, `ti-expe
|
|
|
889
859
|
| ti-reuse-first | Reuse Before You Write | 5 files (the ladder, Alloy reuse, indirection, PurgeTSS reuse, diagnostics) |
|
|
890
860
|
| ti-expert | Architecture + Implementation | 27 files (patterns, feedback surfaces, file type association, sharing, testing, security, etc.) |
|
|
891
861
|
| purgetss | Setup + Critical Rules | 39 files (Classic compatibility, grid, animations, icons, class-index, SVG pipeline, etc.) |
|
|
892
|
-
| ti-ui | UI Rules + Platform Diffs |
|
|
862
|
+
| ti-ui | UI Rules + Platform Diffs | 5 current official guides (native UI, layouts, lists, icons and platform conventions) |
|
|
893
863
|
| ti-game | Native 2D Game Workflow | 12 files (API, input, source notes, setup, physics, patterns, recipes, tile maps, debugging, roadmap) |
|
|
894
864
|
| ti-game-assets | Visual and Sound Assets | 10 guides and a manifest example; alpha and contract validation scripts |
|
|
895
865
|
| ti-admob-unified | Unified Advertising | 20 Markdown references including production, rewarded interstitial, mediation parity, integration library guidance, provenance and game monetization; source/hash checks and official example assets |
|
|
896
866
|
| ti-synthengine | Native Sound Synthesis | TiSynth 2.0 Sound interface and migration, native parameter reference, practical sound design/recipes, runnable example and TypeScript declarations |
|
|
867
|
+
| ti-create-release | Native Module Releases | Release workflow plus current module-directory discovery reference |
|
|
897
868
|
| ti-api | Titanium API | 20 references for core/platform APIs and native modules |
|
|
898
|
-
| ti-guides | SDK Fundamentals |
|
|
899
|
-
| ti-howtos | Native Integrations |
|
|
900
|
-
| alloy-guides | Alloy MVC |
|
|
901
|
-
| alloy-howtos | Alloy CLI and Debugging |
|
|
869
|
+
| ti-guides | SDK Fundamentals | 12 current references for setup, configuration, CLI and distribution |
|
|
870
|
+
| ti-howtos | Native Integrations | 9 current references for platform features and integration workflows |
|
|
871
|
+
| alloy-guides | Alloy MVC | 10 references for current Alloy guides and independently sourced PurgeTSS integration |
|
|
872
|
+
| alloy-howtos | Alloy CLI and Debugging | 5 current references for app workflows, configuration and debugging |
|
|
902
873
|
|
|
903
874
|
---
|
|
904
875
|
|
package/agents/ti-pro.md
CHANGED
|
@@ -10,6 +10,7 @@ skills:
|
|
|
10
10
|
- ti-game-assets
|
|
11
11
|
- ti-synthengine
|
|
12
12
|
- ti-admob-unified
|
|
13
|
+
- ti-create-release
|
|
13
14
|
- ti-api
|
|
14
15
|
- ti-guides
|
|
15
16
|
- ti-howtos
|
|
@@ -30,11 +31,12 @@ When invoked, research complex topics by consulting the applicable skills from t
|
|
|
30
31
|
- `ti-reuse-first` - Whether the thing should exist at all, and what already does it; duplication and dead-structure sweeps
|
|
31
32
|
- `ti-expert` - Architecture, patterns, conventions
|
|
32
33
|
- `purgetss` - Utility-first styling classes (optional add-on; use when the project already has it or the user asks about it)
|
|
33
|
-
- `ti-ui` - UI
|
|
34
|
+
- `ti-ui` - Current official native UI, layout, list, icon and platform guides
|
|
34
35
|
- `ti-game-assets` - Visual and sound asset contracts, raster generation, alpha/export validation, synthesis variants and stereo coordination when assets are involved
|
|
35
36
|
- `ti-game` - Native `ti.game` architecture and API when the module is declared
|
|
36
37
|
- `ti-synthengine` - TiSynth 2.0 reusable Sound definitions, independent playback controls, direct-method migration, timing/processing units, synthesis and platform caveats when the module is declared or requested
|
|
37
38
|
- `ti-admob-unified` - Official unified advertising/privacy/mediation module contract and provider setup when declared or requested
|
|
39
|
+
- `ti-create-release` - Native-module release-readiness and discovery research; read-only here, with publication reserved for an explicit user release request
|
|
38
40
|
- `ti-api`, `ti-guides`, `ti-howtos` - Exact Titanium APIs, SDK fundamentals and native integrations
|
|
39
41
|
- `alloy-guides`, `alloy-howtos` - Alloy MVC, CLI, configuration and compiler workflows when the project is Alloy
|
|
40
42
|
|
package/commands/ti-audit.md
CHANGED
|
@@ -11,13 +11,13 @@ Core Titanium audit:
|
|
|
11
11
|
2. Invoke `ti-expert` — check architecture, navigation ownership, event/timer cleanup, memory leaks, bridge pressure, testing boundaries, adaptive layouts and code conventions.
|
|
12
12
|
3. Invoke `ti-guides` — check `tiapp.xml`, CommonJS/Hyperloop usage, Titanium CLI/build assumptions, memory and bridge guidance, distribution settings, and toolchain compatibility.
|
|
13
13
|
4. Invoke `ti-api` — verify every audited `Ti.*` API, event, property, constant and third-party module call against its exact signature. Do not report a suspected API defect from memory.
|
|
14
|
-
5. Invoke `ti-ui` when the project creates Titanium UI — check
|
|
15
|
-
6. Invoke `ti-howtos` when the project implements a native integration such as location, maps, push, camera, media, SQLite, HTTPClient,
|
|
14
|
+
5. Invoke `ti-ui` when the project creates Titanium UI — check current layout, list, icon/launch-screen and platform-convention guidance. Use `ti-api` for event, gesture, animation, accessibility and orientation contracts.
|
|
15
|
+
6. Invoke `ti-howtos` when the project implements a native integration such as location, maps, push, camera, media, SQLite, HTTPClient, native modules, Hyperloop or CLI plugins — audit the complete integration and platform setup, not only the JavaScript call site.
|
|
16
16
|
|
|
17
17
|
Project-type audit:
|
|
18
18
|
|
|
19
|
-
7. If the project is Alloy (`app/views/`, `app/controllers/`, `app/styles/`), invoke `alloy-guides` — check controllers, XML/TSS, models, collections, widgets,
|
|
20
|
-
8. If the Alloy project uses `alloy.jmk`, `config.json`, `widget.json`, conditional views
|
|
19
|
+
7. If the project is Alloy (`app/views/`, `app/controllers/`, `app/styles/`), invoke `alloy-guides` — check controllers, XML/TSS, models, collections, widgets, persistence and cleanup patterns.
|
|
20
|
+
8. If the Alloy project uses `alloy.jmk`, `config.json`, `widget.json`, conditional views or current Alloy CLI workflows, invoke `alloy-howtos` — check configuration precedence, build hooks, generated structures and compilation/debugging conventions.
|
|
21
21
|
9. If the project uses PurgeTSS (`purgetss/`, `purgetss/config.cjs`, a PurgeTSS-generated `app.tss`, or `purgetss.{ui,colors,fonts}.js`), invoke `purgetss` and detect Alloy vs. Classic before applying findings. In Alloy, audit unsupported utility classes, padding on Views, unnecessary manual TSS, dynamic components, grids, icons and animations. In Classic, audit only the supported standalone asset/CommonJS commands and their `Resources/` outputs; do not require or recommend `alloy.jmk`, generated TSS, utility classes, or `$.UI.create()`.
|
|
22
22
|
|
|
23
23
|
Native-module audit:
|
|
@@ -29,6 +29,8 @@ Native-module audit:
|
|
|
29
29
|
|
|
30
30
|
13. If the project declares `ti.admob.unified`/mediation complements or uses this module, invoke `ti-admob-unified` — verify public release/platform requirements, consent/request eligibility/initialization, ATT status versus permission, test IDs, independent banner lifecycle and deliberate fullscreen ownership. Check rewarded interstitial's reward introduction, visible Skip, reward-event credit and pending-context cancellation. Use the production guide for app IDs, app-ads.txt, privacy entry points and account readiness. Separate linking, Google test ads, selected-provider delivery and physical acceptance; preserve game frequency and pause/audio/input policy.
|
|
31
31
|
|
|
32
|
+
For a native-module release-readiness review, consult `ti-create-release` in read-only mode to check source/artifact provenance and discovery metadata. An audit does not authorize publishing a release or changing GitHub metadata.
|
|
33
|
+
|
|
32
34
|
If a conditional skill does not apply, record it as `not applicable` with the detected reason instead of inventing findings from it.
|
|
33
35
|
|
|
34
36
|
Report findings grouped by severity: critical, warning, info.
|
package/docs/examples.md
CHANGED
|
@@ -98,3 +98,12 @@ existing components, then check scene input, native audio ownership and cleanup
|
|
|
98
98
|
using the appropriate references."
|
|
99
99
|
|
|
100
100
|
See [how the knowledge index works](knowledge-index.md) for reference discovery.
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
## Native module releases — ti-create-release
|
|
104
|
+
|
|
105
|
+
- "Prepare an iOS-only release of this Titanium module using its existing tag and build conventions."
|
|
106
|
+
- "Publish the agreed Android/iOS ZIPs from the verified source commit and check the module's discovery topics and description."
|
|
107
|
+
- "Review this fork's release readiness without publishing or changing GitHub metadata."
|
|
108
|
+
|
|
109
|
+
Use [the release skill](../skills/ti-create-release/SKILL.md) for artifact provenance, authorized publication and directory discovery. App-store releases use their own workflows.
|
package/docs/knowledge-index.md
CHANGED
|
@@ -25,7 +25,7 @@ and generating an index in a consuming app are separate operations.
|
|
|
25
25
|
|
|
26
26
|
## Choose the relevant skills
|
|
27
27
|
|
|
28
|
-
The catalog contains
|
|
28
|
+
The catalog contains fourteen public skills:
|
|
29
29
|
|
|
30
30
|
| Task | Skill |
|
|
31
31
|
| --- | --- |
|
|
@@ -37,6 +37,7 @@ The catalog contains thirteen public skills:
|
|
|
37
37
|
| Visual and sound asset production | `ti-game-assets` |
|
|
38
38
|
| Native synthesis | `ti-synthengine` |
|
|
39
39
|
| Unified advertising | `ti-admob-unified` |
|
|
40
|
+
| Native module releases and discovery | `ti-create-release` |
|
|
40
41
|
| Exact Titanium APIs | `ti-api` |
|
|
41
42
|
| SDK fundamentals | `ti-guides` |
|
|
42
43
|
| Native integrations | `ti-howtos` |
|
package/lib/config.js
CHANGED
package/package.json
CHANGED
|
@@ -1,188 +1,27 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: alloy-guides
|
|
3
|
-
description:
|
|
3
|
+
description: Use when writing or reviewing Titanium Alloy XML views, TSS styles, controllers, models and collections, persistent list binding, widgets or build-time themes. Applies to app/views, app/styles, app/controllers and app/models. Uses the current official Titanium guides; Alloy is a compiler over the Titanium API, not web MVC.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# Alloy guides
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Use this skill for Alloy screen structure, styling, controller lifecycle, persistent data and reusable widgets. Load the relevant reference before writing code.
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
| Task | Reference |
|
|
11
|
+
| --- | --- |
|
|
12
|
+
| MVC, project directories and generated output | [Concepts](references/CONCEPTS.md) |
|
|
13
|
+
| Arguments, opening windows, shared modules and cleanup | [Controllers](references/CONTROLLERS.md) |
|
|
14
|
+
| Model definition, ListView binding, filters and transforms | [Models](references/MODELS.md) |
|
|
15
|
+
| Persistence choices and schema migrations | [Persistence](references/MODELS_ADVANCED.md) |
|
|
16
|
+
| XML, IDs, namespaces, conditional elements and composition | [Views](references/VIEWS_XML.md) |
|
|
17
|
+
| TSS selectors, precedence, queries and build-time themes | [Styles](references/VIEWS_STYLES.md) |
|
|
18
|
+
| Runtime class changes and their required class tracking | [Dynamic styles](references/VIEWS_DYNAMIC.md) |
|
|
19
|
+
| Creating, declaring, using and isolating widgets | [Widgets](references/WIDGETS.md) |
|
|
20
|
+
| Creating, converting and running an Alloy app | [App workflow](references/CLI_TASKS.md) |
|
|
21
|
+
| PurgeTSS integration, with its independent source | [PurgeTSS](references/PURGETSS.md) |
|
|
11
22
|
|
|
12
|
-
|
|
23
|
+
Keep XML, TSS and JavaScript in their corresponding `app` directories. `Resources/` and `build/` are generated; do not edit or commit them. A controller creates its views but does not automatically open a Window. Read `$.args` at the top, export deliberate operations and clean up listeners/subscriptions separately from `$.destroy()`.
|
|
13
24
|
|
|
14
|
-
Use
|
|
25
|
+
For configuration, compiler constants, hooks and debugging use `alloy-howtos`. For API signatures and platform availability use `ti-api`. Use `ti-guides` for toolchain, native modules and distribution, `ti-howtos` for service setup, and `ti-ui` for current Titanium layout and list behavior.
|
|
15
26
|
|
|
16
|
-
|
|
17
|
-
- Writing or reviewing Alloy XML markup (`<Alloy>`, `<Window>`, `<View>`, ...)
|
|
18
|
-
- Writing or reviewing TSS styles (static and conditional/dynamic)
|
|
19
|
-
- Defining Backbone models/collections, data binding, or sync adapters
|
|
20
|
-
- Creating, consuming, or packaging widgets
|
|
21
|
-
- Understanding the Alloy compilation pipeline (`alloy.jmk`, code generation)
|
|
22
|
-
- Diagnosing TSS, XML, or model schema issues
|
|
23
|
-
|
|
24
|
-
Do NOT use for:
|
|
25
|
-
|
|
26
|
-
- Alloy CLI usage and configuration files (use `alloy-howtos`)
|
|
27
|
-
- Titanium SDK fundamentals, `tiapp.xml`, distribution (use `ti-guides`)
|
|
28
|
-
- Looking up Titanium API surfaces (use `ti-api`)
|
|
29
|
-
- Native module dependency updates (use `ti-module-update`)
|
|
30
|
-
|
|
31
|
-
## Quick reference
|
|
32
|
-
|
|
33
|
-
| Topic | Reference |
|
|
34
|
-
|---|---|
|
|
35
|
-
| Core concepts, MVC, Backbone.js, conventions | [CONCEPTS.md](references/CONCEPTS.md) |
|
|
36
|
-
| Controllers, events, conditional code, arguments | [CONTROLLERS.md](references/CONTROLLERS.md) |
|
|
37
|
-
| Models, collections, data binding | [MODELS.md](references/MODELS.md) |
|
|
38
|
-
| Sync adapters, migrations, plain Backbone, Backbone version migration | [MODELS_ADVANCED.md](references/MODELS_ADVANCED.md) |
|
|
39
|
-
| XML markup, elements, attributes, events | [VIEWS_XML.md](references/VIEWS_XML.md) |
|
|
40
|
-
| TSS styling, themes, platform-specific styles | [VIEWS_STYLES.md](references/VIEWS_STYLES.md) |
|
|
41
|
-
| Dynamic styles, autostyle, runtime styling | [VIEWS_DYNAMIC.md](references/VIEWS_DYNAMIC.md) |
|
|
42
|
-
| Controllers-less views, patterns | [VIEWS_WITHOUT_CONTROLLERS.md](references/VIEWS_WITHOUT_CONTROLLERS.md) |
|
|
43
|
-
| Creating and using widgets | [WIDGETS.md](references/WIDGETS.md) |
|
|
44
|
-
| CLI commands, code generation | [CLI_TASKS.md](references/CLI_TASKS.md) |
|
|
45
|
-
| PurgeTSS integration (optional addon) | [PURGETSS.md](references/PURGETSS.md) |
|
|
46
|
-
|
|
47
|
-
## Project structure
|
|
48
|
-
|
|
49
|
-
Standard Alloy project layout:
|
|
50
|
-
|
|
51
|
-
```
|
|
52
|
-
app/
|
|
53
|
-
├── alloy.js # Initializer file
|
|
54
|
-
├── alloy.jmk # Build configuration
|
|
55
|
-
├── config.json # Project configuration
|
|
56
|
-
├── assets/ # Images, fonts, files (→ Resources/)
|
|
57
|
-
├── controllers/ # Controller files (.js)
|
|
58
|
-
├── i18n/ # Localization strings (→ i18n/)
|
|
59
|
-
├── lib/ # CommonJS modules
|
|
60
|
-
├── migrations/ # DB migrations (<DATETIME>_<name>.js)
|
|
61
|
-
├── models/ # Model definitions (.js)
|
|
62
|
-
├── platform/ # Platform-specific resources (→ platform/)
|
|
63
|
-
├── specs/ # Test-only files (dev/test only)
|
|
64
|
-
├── styles/ # TSS files (.tss)
|
|
65
|
-
├── themes/ # Theme folders
|
|
66
|
-
├── views/ # XML markup files (.xml)
|
|
67
|
-
└── widgets/ # Widget components
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
## MVC quick start
|
|
71
|
-
|
|
72
|
-
**Controller** (`app/controllers/index.js`)
|
|
73
|
-
```javascript
|
|
74
|
-
function doClick (e) {
|
|
75
|
-
alert($.label.text);
|
|
76
|
-
}
|
|
77
|
-
$.index.open();
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
**View** (`app/views/index.xml`)
|
|
81
|
-
```xml
|
|
82
|
-
<Alloy>
|
|
83
|
-
<Window class="container">
|
|
84
|
-
<Label id="label" onClick="doClick">Hello, World</Label>
|
|
85
|
-
</Window>
|
|
86
|
-
</Alloy>
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
**Style** (`app/styles/index.tss`)
|
|
90
|
-
```javascript
|
|
91
|
-
'.container': { backgroundColor: 'white' }
|
|
92
|
-
'Label': { color: '#000' }
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
## Key concepts
|
|
96
|
-
|
|
97
|
-
- **Models / Collections** — Backbone.js objects with sync adapters (`sql`, `properties`)
|
|
98
|
-
- **Views** — XML markup with TSS styling
|
|
99
|
-
- **Controllers** — JavaScript logic with `$` reference to view components
|
|
100
|
-
- **Data Binding** — Bind collections to UI components automatically
|
|
101
|
-
- **Widgets** — Reusable components with their own MVC structure
|
|
102
|
-
- **Conventions** — File naming and placement drive code generation
|
|
103
|
-
|
|
104
|
-
## Critical rules
|
|
105
|
-
|
|
106
|
-
### Platform-specific properties in TSS
|
|
107
|
-
|
|
108
|
-
> **Warning: Platform-specific properties require modifiers**
|
|
109
|
-
>
|
|
110
|
-
> Using `Ti.UI.iOS.*` or `Ti.UI.Android.*` properties in TSS without platform modifiers causes cross-platform compilation failures.
|
|
111
|
-
>
|
|
112
|
-
> ```tss
|
|
113
|
-
> // WRONG — adds Ti.UI.iOS to Android project
|
|
114
|
-
> '#mainWindow': {
|
|
115
|
-
> statusBarStyle: Ti.UI.iOS.StatusBar.LIGHT_CONTENT // FAILS on Android
|
|
116
|
-
> }
|
|
117
|
-
>
|
|
118
|
-
> // CORRECT — only adds to iOS
|
|
119
|
-
> '#mainWindow[platform=ios]': {
|
|
120
|
-
> statusBarStyle: Ti.UI.iOS.StatusBar.LIGHT_CONTENT
|
|
121
|
-
> }
|
|
122
|
-
>
|
|
123
|
-
> // CORRECT — only adds to Android
|
|
124
|
-
> '#mainWindow[platform=android]': {
|
|
125
|
-
> actionBar: { displayHomeAsUp: true }
|
|
126
|
-
> }
|
|
127
|
-
> ```
|
|
128
|
-
>
|
|
129
|
-
> Properties that always require platform modifiers:
|
|
130
|
-
>
|
|
131
|
-
> - **iOS:** `statusBarStyle`, `modalStyle`, `modalTransitionStyle`, anything under `Ti.UI.iOS.*`
|
|
132
|
-
> - **Android:** `actionBar` config, anything under `Ti.UI.Android.*`
|
|
133
|
-
>
|
|
134
|
-
> Available modifiers: `[platform=ios]`, `[platform=android]`, `[formFactor=handheld]`, `[formFactor=tablet]`, `[if=Alloy.Globals.<expression>]`
|
|
135
|
-
>
|
|
136
|
-
> See [VIEWS_DYNAMIC.md](references/VIEWS_DYNAMIC.md) for the full set of conditional / platform modifier patterns.
|
|
137
|
-
|
|
138
|
-
## Common patterns
|
|
139
|
-
|
|
140
|
-
### Creating a model
|
|
141
|
-
|
|
142
|
-
```bash
|
|
143
|
-
alloy generate model book sql title:string author:string
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
### Data binding
|
|
147
|
-
|
|
148
|
-
```xml
|
|
149
|
-
<Collection src="book" />
|
|
150
|
-
<TableView dataCollection="book">
|
|
151
|
-
<TableViewRow title="{title}" />
|
|
152
|
-
</TableView>
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
### Platform-specific code
|
|
156
|
-
|
|
157
|
-
```javascript
|
|
158
|
-
if (OS_IOS) {
|
|
159
|
-
// iOS-only code
|
|
160
|
-
}
|
|
161
|
-
if (OS_ANDROID) {
|
|
162
|
-
// Android-only code
|
|
163
|
-
}
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
### Widget usage
|
|
167
|
-
|
|
168
|
-
```xml
|
|
169
|
-
<Widget src="mywidget" id="foo" />
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
## Compilation process
|
|
173
|
-
|
|
174
|
-
1. **Cleanup** — `Resources` folder cleaned
|
|
175
|
-
2. **Build config** — `alloy.jmk` loaded (`pre:load` task)
|
|
176
|
-
3. **Framework files** — Backbone.js, Underscore.js, sync adapters copied
|
|
177
|
-
4. **MVC generation** — Models, widgets, views, controllers compiled to JS
|
|
178
|
-
5. **Main app** — `app.js` generated from template
|
|
179
|
-
6. **Optimization** — UglifyJS optimization, platform-specific code removal
|
|
180
|
-
|
|
181
|
-
## Related skills
|
|
182
|
-
|
|
183
|
-
| Task | Use this skill |
|
|
184
|
-
|---|---|
|
|
185
|
-
| Alloy CLI, `alloy.jmk`, `config.json`, debugging compilation | `alloy-howtos` |
|
|
186
|
-
| Titanium SDK config, Hyperloop, app distribution | `ti-guides` |
|
|
187
|
-
| Titanium API lookup (Ti.UI, Ti.Network, modules) | `ti-api` |
|
|
188
|
-
| Native module dependency updates | `ti-module-update` |
|
|
27
|
+
The current guide pages are at [titaniumsdk.com/docs/alloy.md](https://titaniumsdk.com/docs/alloy.md). References include released-compiler caveats where a published recipe conflicts with released behavior. PurgeTSS keeps its own source and is outside the official Alloy guide refresh.
|