@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.
Files changed (98) hide show
  1. package/CONTRIBUTING.md +1 -1
  2. package/README.md +31 -60
  3. package/agents/ti-pro.md +3 -1
  4. package/commands/ti-audit.md +6 -4
  5. package/docs/examples.md +9 -0
  6. package/docs/knowledge-index.md +2 -1
  7. package/lib/config.js +1 -0
  8. package/package.json +1 -1
  9. package/skills/alloy-guides/SKILL.md +18 -179
  10. package/skills/alloy-guides/references/CLI_TASKS.md +17 -216
  11. package/skills/alloy-guides/references/CONCEPTS.md +27 -162
  12. package/skills/alloy-guides/references/CONTROLLERS.md +38 -236
  13. package/skills/alloy-guides/references/MODELS.md +47 -723
  14. package/skills/alloy-guides/references/MODELS_ADVANCED.md +21 -482
  15. package/skills/alloy-guides/references/VIEWS_DYNAMIC.md +12 -222
  16. package/skills/alloy-guides/references/VIEWS_STYLES.md +39 -358
  17. package/skills/alloy-guides/references/VIEWS_XML.md +36 -552
  18. package/skills/alloy-guides/references/WIDGETS.md +49 -127
  19. package/skills/alloy-howtos/SKILL.md +14 -169
  20. package/skills/alloy-howtos/references/best_practices.md +9 -113
  21. package/skills/alloy-howtos/references/cli_reference.md +18 -223
  22. package/skills/alloy-howtos/references/config_files.md +50 -133
  23. package/skills/alloy-howtos/references/debugging_troubleshooting.md +19 -63
  24. package/skills/alloy-howtos/references/samples.md +21 -138
  25. package/skills/ti-api/SKILL.md +10 -2
  26. package/skills/ti-api/references/api-android.md +36 -2
  27. package/skills/ti-api/references/api-app-platform.md +39 -3
  28. package/skills/ti-api/references/api-core.md +50 -18
  29. package/skills/ti-api/references/api-data-network.md +49 -35
  30. package/skills/ti-api/references/api-media.md +45 -27
  31. package/skills/ti-api/references/api-services.md +39 -9
  32. package/skills/ti-api/references/api-ui-android.md +33 -13
  33. package/skills/ti-api/references/api-ui-extras.md +41 -15
  34. package/skills/ti-api/references/api-ui-ios-animator.md +42 -26
  35. package/skills/ti-api/references/api-ui-ios.md +74 -2
  36. package/skills/ti-api/references/api-ui-lists.md +32 -16
  37. package/skills/ti-api/references/api-ui-text-input.md +34 -17
  38. package/skills/ti-api/references/api-ui-views.md +27 -1
  39. package/skills/ti-api/references/api-ui-windows-navigation.md +32 -18
  40. package/skills/ti-api/references/api-xml-global.md +66 -16
  41. package/skills/ti-create-release/SKILL.md +98 -0
  42. package/skills/ti-create-release/references/module-discovery.md +69 -0
  43. package/skills/ti-expert/references/adaptive-layouts.md +1 -1
  44. package/skills/ti-guides/SKILL.md +37 -76
  45. package/skills/ti-guides/references/advanced-data-and-images.md +122 -126
  46. package/skills/ti-guides/references/android-manifest.md +24 -83
  47. package/skills/ti-guides/references/app-distribution.md +31 -377
  48. package/skills/ti-guides/references/application-frameworks.md +127 -335
  49. package/skills/ti-guides/references/cli-reference.md +184 -633
  50. package/skills/ti-guides/references/commonjs-advanced.md +81 -231
  51. package/skills/ti-guides/references/compatibility-matrix.md +36 -75
  52. package/skills/ti-guides/references/hello-world.md +95 -70
  53. package/skills/ti-guides/references/hyperloop-native-access.md +52 -448
  54. package/skills/ti-guides/references/resources.md +174 -142
  55. package/skills/ti-guides/references/sdk-release-notes.md +28 -71
  56. package/skills/ti-guides/references/tiapp-config.md +222 -598
  57. package/skills/ti-howtos/SKILL.md +23 -123
  58. package/skills/ti-howtos/references/cross-platform-development.md +119 -324
  59. package/skills/ti-howtos/references/debugging-profiling.md +77 -445
  60. package/skills/ti-howtos/references/extending-titanium.md +199 -673
  61. package/skills/ti-howtos/references/local-data-sources.md +87 -300
  62. package/skills/ti-howtos/references/location-and-maps.md +86 -213
  63. package/skills/ti-howtos/references/media-apis.md +103 -223
  64. package/skills/ti-howtos/references/notification-services.md +86 -506
  65. package/skills/ti-howtos/references/remote-data-sources.md +97 -316
  66. package/skills/ti-howtos/references/using-modules.md +77 -133
  67. package/skills/ti-ui/SKILL.md +28 -143
  68. package/skills/ti-ui/references/icons-and-splash-screens.md +74 -403
  69. package/skills/ti-ui/references/layouts-and-positioning.md +175 -402
  70. package/skills/ti-ui/references/listviews-and-performance.md +100 -703
  71. package/skills/ti-ui/references/platform-conventions.md +180 -0
  72. package/skills/ti-ui/references/user-interface.md +43 -0
  73. package/skills/alloy-guides/references/VIEWS_WITHOUT_CONTROLLERS.md +0 -102
  74. package/skills/alloy-howtos/references/custom_tags.md +0 -148
  75. package/skills/ti-guides/references/coding-best-practices.md +0 -149
  76. package/skills/ti-guides/references/javascript-primer.md +0 -414
  77. package/skills/ti-guides/references/reserved-words.md +0 -36
  78. package/skills/ti-guides/references/style-and-conventions.md +0 -103
  79. package/skills/ti-howtos/references/android-platform-deep-dives.md +0 -624
  80. package/skills/ti-howtos/references/automation-fastlane-appium.md +0 -96
  81. package/skills/ti-howtos/references/buffer-codec-streams.md +0 -162
  82. package/skills/ti-howtos/references/google-maps-v2.md +0 -172
  83. package/skills/ti-howtos/references/ios-map-kit.md +0 -149
  84. package/skills/ti-howtos/references/ios-platform-deep-dives.md +0 -611
  85. package/skills/ti-howtos/references/tutorials.md +0 -565
  86. package/skills/ti-howtos/references/web-content-integration.md +0 -287
  87. package/skills/ti-howtos/references/webpack-build-pipeline.md +0 -124
  88. package/skills/ti-ui/references/accessibility-deep-dive.md +0 -288
  89. package/skills/ti-ui/references/animation-and-matrices.md +0 -569
  90. package/skills/ti-ui/references/application-structures.md +0 -626
  91. package/skills/ti-ui/references/custom-fonts-styling.md +0 -549
  92. package/skills/ti-ui/references/event-handling.md +0 -401
  93. package/skills/ti-ui/references/gestures.md +0 -448
  94. package/skills/ti-ui/references/orientation.md +0 -374
  95. package/skills/ti-ui/references/platform-ui-android.md +0 -727
  96. package/skills/ti-ui/references/platform-ui-ios.md +0 -576
  97. package/skills/ti-ui/references/scrolling-views.md +0 -288
  98. 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 thirteen Titanium SDK skills, a research agent and slash
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 13 skills — 8 specialist skills (`ti-reuse-first`, `ti-expert`, `purgetss`, `ti-ui`, `ti-game`, `ti-game-assets`, `ti-synthengine`, `ti-admob-unified`) 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.
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 13 TiTools skills (`ti-reuse-first`, `ti-expert`, `purgetss`, `ti-ui`, `ti-game`, `ti-game-assets`, `ti-synthengine`, `ti-admob-unified`, `ti-api`, `ti-guides`, `ti-howtos`, `alloy-guides`, `alloy-howtos`)
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 13 TiTools skills to `~/.agents/skills/`
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-api | Complete Titanium API reference | Looking up properties, methods, events |
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, custom XML tags |
182
+ | alloy-howtos | Alloy CLI, configuration, debugging | alloy.jmk, config.json, build constants and debugging |
182
183
 
183
184
  Notes:
184
- - The first eight (`ti-reuse-first`, `ti-expert`, `purgetss`, `ti-ui`, `ti-game`, `ti-game-assets`, `ti-synthengine`, `ti-admob-unified`) are specialist workflow skills reflecting TiTools' Titanium conventions and native-module contracts.
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. No skill, command or flag was renamed and the references answer the same questions. What changed is what they are checked against.
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) | all five, as an archive | The previous corpus, now frozen. Kept for what the rewrite left out. |
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
- ### The archive is additive
210
+ ### Current guides and API verification
210
211
 
211
- `tidev/titanium-docs` is frozen and being archived upstream. TiDev's own migration audit classifies its 336 guide pages as 121 rewritten, 121 merged, 2 kept and 92 archived. Of those 92, 91 are release notes and the last is the discontinued Atom package, so no guide topic was dropped. The difference is density: 1390 KB of legacy prose became 219 KB.
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
- TiTools keeps the full corpus. The archive never overrides a live source on a question of fact, and nothing is deleted from a reference merely because the rewritten site no longer covers it. These skills still answer questions the official guides have not been rewritten to cover yet, such as the conditional `if=` attribute in Alloy XML and TSS, custom XML tags via `app/lib/`, and `alloy compile`.
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 13-skill TiTools catalog.
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 13 skills registered in `lib/config.js` |
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 13 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
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 thirteen ship with TiTools; no second skill package is required.
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 13 TiTools skills (global or local depending on context)
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
- ## Community-Discovered Patterns
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
- This pattern is documented across four bundled TiTools skills: `ti-ui`, `ti-expert`, `purgetss`, and `ti-api`, which covers the underlying Window properties.
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 | 14 files (layouts, lists, gestures, etc.) |
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 | 16 references for setup, configuration, CLI and distribution |
899
- | ti-howtos | Native Integrations | 18 references for platform features and integration workflows |
900
- | alloy-guides | Alloy MVC | 11 references for controllers, views, models, styling and widgets |
901
- | alloy-howtos | Alloy CLI and Debugging | 6 references for commands, configuration and practical workflows |
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/UX patterns, layouts, gestures
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
 
@@ -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 layouts, list performance, event bubbling, gestures, animations, accessibility, orientation and platform-specific UI.
15
- 6. Invoke `ti-howtos` when the project implements a native integration such as location, maps, push, camera, media, SQLite, HTTPClient, WebView, intents, Keychain/iCloud, Hyperloop or CI/CD — audit the complete integration and platform setup, not only the JavaScript call site.
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, sync adapters and cleanup patterns.
20
- 8. If the Alloy project uses `alloy.jmk`, `config.json`, `widget.json`, conditional views, custom XML tags or Alloy CLI workflows, invoke `alloy-howtos` — check configuration precedence, build hooks, generated structures and compilation/debugging conventions.
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.
@@ -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 thirteen public skills:
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
@@ -38,6 +38,7 @@ export const SKILLS = [
38
38
  'ti-game-assets',
39
39
  'ti-synthengine',
40
40
  'ti-admob-unified',
41
+ 'ti-create-release',
41
42
  'ti-api',
42
43
  'ti-guides',
43
44
  'ti-howtos',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maccesar/titools",
3
- "version": "5.3.0",
3
+ "version": "5.4.0",
4
4
  "description": "Titanium SDK skills and agents for AI coding assistants, including native game and sound synthesis modules",
5
5
  "main": "lib/index.js",
6
6
  "type": "module",
@@ -1,188 +1,27 @@
1
1
  ---
2
2
  name: alloy-guides
3
- description: 'Use when working with Alloy MVC projects: writing or reviewing Alloy controllers (`app/controllers/`), XML views (`app/views/`), TSS styles (`app/styles/`), Backbone models and collections (`app/models/`), sync adapters, migrations, widgets, or the Alloy compilation flow. Triggers include the `app/views/` + `app/controllers/` + `app/styles/` folder structure, or `app/models/` for data work. Alloy XML is not HTML; TSS is not CSS; controllers follow Alloy-specific patterns, not web MVC.'
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
- # alloy-guides
6
+ # Alloy guides
7
7
 
8
- ## Overview
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
- Reference for the Alloy MVC framework on top of Titanium SDK. Covers core concepts, controllers, models / collections / data binding, XML markup, TSS styling (static and dynamic), widgets, and the compile pipeline.
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
- ## When to use
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 this skill when:
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
- - The project contains `app/views/`, `app/controllers/`, `app/styles/`, or `app/models/`
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.