@maccesar/titools 2.10.1 → 3.1.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/AGENTS-VERCEL-RESEARCH.md +23 -12
- package/README.md +81 -182
- package/agents/ti-pro.md +8 -14
- package/lib/cleanup.js +13 -0
- package/lib/commands/skills.js +2 -1
- package/lib/config.js +9 -11
- package/lib/platform.js +1 -1
- package/package.json +2 -3
- package/skills/alloy-guides/SKILL.md +0 -190
- package/skills/alloy-guides/references/CLI_TASKS.md +0 -233
- package/skills/alloy-guides/references/CONCEPTS.md +0 -171
- package/skills/alloy-guides/references/CONTROLLERS.md +0 -279
- package/skills/alloy-guides/references/MODELS.md +0 -1214
- package/skills/alloy-guides/references/PURGETSS.md +0 -46
- package/skills/alloy-guides/references/VIEWS_DYNAMIC.md +0 -235
- package/skills/alloy-guides/references/VIEWS_STYLES.md +0 -375
- package/skills/alloy-guides/references/VIEWS_WITHOUT_CONTROLLERS.md +0 -102
- package/skills/alloy-guides/references/VIEWS_XML.md +0 -581
- package/skills/alloy-guides/references/WIDGETS.md +0 -160
- package/skills/alloy-howtos/SKILL.md +0 -181
- package/skills/alloy-howtos/references/best_practices.md +0 -121
- package/skills/alloy-howtos/references/cli_reference.md +0 -230
- package/skills/alloy-howtos/references/config_files.md +0 -158
- package/skills/alloy-howtos/references/custom_tags.md +0 -148
- package/skills/alloy-howtos/references/debugging_troubleshooting.md +0 -78
- package/skills/alloy-howtos/references/samples.md +0 -156
- package/skills/ti-api/SKILL.md +0 -109
- package/skills/ti-api/references/api-android.md +0 -675
- package/skills/ti-api/references/api-app-platform.md +0 -636
- package/skills/ti-api/references/api-core.md +0 -764
- package/skills/ti-api/references/api-data-network.md +0 -641
- package/skills/ti-api/references/api-media.md +0 -655
- package/skills/ti-api/references/api-modules-ble-bluetooth.md +0 -657
- package/skills/ti-api/references/api-modules-coremotion-urlsession.md +0 -411
- package/skills/ti-api/references/api-modules-map.md +0 -632
- package/skills/ti-api/references/api-modules-nfc.md +0 -725
- package/skills/ti-api/references/api-modules-social-misc.md +0 -526
- package/skills/ti-api/references/api-services.md +0 -700
- package/skills/ti-api/references/api-ui-android.md +0 -499
- package/skills/ti-api/references/api-ui-extras.md +0 -702
- package/skills/ti-api/references/api-ui-ios-animator.md +0 -378
- package/skills/ti-api/references/api-ui-ios.md +0 -756
- package/skills/ti-api/references/api-ui-lists.md +0 -581
- package/skills/ti-api/references/api-ui-text-input.md +0 -607
- package/skills/ti-api/references/api-ui-views.md +0 -572
- package/skills/ti-api/references/api-ui-windows-navigation.md +0 -676
- package/skills/ti-api/references/api-xml-global.md +0 -743
- package/skills/ti-guides/SKILL.md +0 -75
- package/skills/ti-guides/references/advanced-data-and-images.md +0 -155
- package/skills/ti-guides/references/android-manifest.md +0 -97
- package/skills/ti-guides/references/app-distribution.md +0 -373
- package/skills/ti-guides/references/application-frameworks.md +0 -366
- package/skills/ti-guides/references/cli-reference.md +0 -700
- package/skills/ti-guides/references/coding-best-practices.md +0 -150
- package/skills/ti-guides/references/commonjs-advanced.md +0 -279
- package/skills/ti-guides/references/hello-world.md +0 -99
- package/skills/ti-guides/references/hyperloop-native-access.md +0 -458
- package/skills/ti-guides/references/javascript-primer.md +0 -402
- package/skills/ti-guides/references/reserved-words.md +0 -36
- package/skills/ti-guides/references/resources.md +0 -172
- package/skills/ti-guides/references/style-and-conventions.md +0 -104
- package/skills/ti-guides/references/tiapp-config.md +0 -655
- package/skills/ti-howtos/SKILL.md +0 -143
- package/skills/ti-howtos/references/android-platform-deep-dives.md +0 -609
- 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/cross-platform-development.md +0 -358
- package/skills/ti-howtos/references/debugging-profiling.md +0 -473
- package/skills/ti-howtos/references/extending-titanium.md +0 -684
- 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 -595
- package/skills/ti-howtos/references/local-data-sources.md +0 -310
- package/skills/ti-howtos/references/location-and-maps.md +0 -267
- package/skills/ti-howtos/references/media-apis.md +0 -268
- package/skills/ti-howtos/references/notification-services.md +0 -539
- package/skills/ti-howtos/references/remote-data-sources.md +0 -339
- package/skills/ti-howtos/references/tutorials.md +0 -552
- package/skills/ti-howtos/references/using-modules.md +0 -182
- package/skills/ti-howtos/references/web-content-integration.md +0 -288
- package/skills/ti-howtos/references/webpack-build-pipeline.md +0 -125
|
@@ -49,21 +49,32 @@ The index maps skills to their reference docs:
|
|
|
49
49
|
```
|
|
50
50
|
|
|
51
51
|
How the assistant should use it:
|
|
52
|
-
- Need Backbone.Models patterns? Read `~/.agents/skills/alloy-guides/references/MODELS.md`
|
|
53
|
-
- Need the PurgeTSS grid system? Read `~/.agents/skills/purgetss/references/grid-layout.md`
|
|
54
52
|
- Need ListView performance tips? Read `~/.agents/skills/ti-ui/references/listviews-and-performance.md`
|
|
53
|
+
- Need the PurgeTSS grid system? Read `~/.agents/skills/purgetss/references/grid-layout.md`
|
|
54
|
+
- Need controller cleanup patterns? Read `~/.agents/skills/ti-expert/references/controller-patterns.md`
|
|
55
|
+
- Need Backbone.Models patterns (with `tidev/skills` installed)? Read `~/.agents/skills/alloy-guides/references/MODELS.md`
|
|
55
56
|
|
|
56
57
|
### Skill overview
|
|
57
58
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
|
61
|
-
|
|
|
62
|
-
| **
|
|
63
|
-
| **
|
|
64
|
-
| **ti-
|
|
65
|
-
|
|
66
|
-
|
|
59
|
+
TiTools ships 3 opinionated skills:
|
|
60
|
+
|
|
61
|
+
| Skill | Purpose | Best for |
|
|
62
|
+
| ------------- | ----------------------------- | --------------------------------------------- |
|
|
63
|
+
| **ti-expert** | Architecture + implementation | Starting point for most Alloy tasks |
|
|
64
|
+
| **purgetss** | Utility-first styling | UI styling, animations, grid layouts |
|
|
65
|
+
| **ti-ui** | UI/UX patterns | Layouts, ListViews, gestures, platform UI |
|
|
66
|
+
|
|
67
|
+
The doc-based reference skills live in [`tidev/skills`](https://github.com/tidev/skills) (community-maintained):
|
|
68
|
+
|
|
69
|
+
| Skill | Purpose | Best for |
|
|
70
|
+
| ---------------- | ----------------------------- | ---------------------------------------------- |
|
|
71
|
+
| **ti-api** | Complete API reference | Properties, methods, events, constants |
|
|
72
|
+
| **ti-guides** | SDK fundamentals | Hyperloop, distribution, tiapp.xml, CLI |
|
|
73
|
+
| **ti-howtos** | Native feature integration | Location, push, media, platform-specific APIs |
|
|
74
|
+
| **alloy-guides** | Alloy MVC reference | Models, views, controllers, widgets |
|
|
75
|
+
| **alloy-howtos** | Alloy CLI and debugging | Project setup, CLI commands, errors |
|
|
76
|
+
|
|
77
|
+
Install both for the full coverage matrix originally shipped by TiTools v2.x.
|
|
67
78
|
|
|
68
79
|
### For complex workflows
|
|
69
80
|
|
|
@@ -73,7 +84,7 @@ The **ti-pro** agent (installed in `~/.claude/agents/`) handles:
|
|
|
73
84
|
- Cross-referencing framework patterns
|
|
74
85
|
- Platform-specific differences
|
|
75
86
|
|
|
76
|
-
It preloads
|
|
87
|
+
It preloads the 3 TiTools skills and recommends consulting `tidev/skills` when the question touches API surface, native-feature how-tos, MVC reference, or SDK fundamentals.
|
|
77
88
|
|
|
78
89
|
## How to use
|
|
79
90
|
|
package/README.md
CHANGED
|
@@ -8,12 +8,14 @@
|
|
|
8
8
|
|
|
9
9
|
</div>
|
|
10
10
|
|
|
11
|
-
TiTools is a Titanium SDK toolkit for AI coding assistants. It
|
|
11
|
+
TiTools is a Titanium SDK toolkit for AI coding assistants. It ships 3 opinionated skills (`ti-expert`, `purgetss`, `ti-ui`), a research agent, and reference files covering Titanium architecture, PurgeTSS styling, and UI/UX patterns.
|
|
12
12
|
|
|
13
13
|
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.
|
|
14
14
|
|
|
15
15
|
Without TiTools, assistants rely on general training data. That data can be outdated or too generic for Titanium work. With TiTools, the assistant can look up Alloy architecture, memory cleanup patterns, PurgeTSS utility classes, and platform-specific APIs.
|
|
16
16
|
|
|
17
|
+
> **v3.0.0 — doc-based skills moved to `tidev/skills`.** Five documentation-only skills (`ti-api`, `ti-guides`, `ti-howtos`, `alloy-guides`, `alloy-howtos`) are now maintained in the official [`tidev/skills`](https://github.com/tidev/skills) repository alongside the rest of the TiDev community tooling. TiTools now focuses on the three opinionated skills above. See [Doc-based skills moved to tidev/skills](#doc-based-skills-moved-to-tidevskills) below for upgrade notes.
|
|
18
|
+
|
|
17
19
|
Vercel's AGENTS.md evaluation reports a 100% pass rate for the knowledge index approach, compared to 53-79% using skills alone.
|
|
18
20
|
|
|
19
21
|
---
|
|
@@ -38,7 +40,7 @@ The fastest way to get started with Claude Code. One command to add the marketpl
|
|
|
38
40
|
```
|
|
39
41
|
|
|
40
42
|
What you get:
|
|
41
|
-
- All
|
|
43
|
+
- All 3 TiTools skills (`ti-expert`, `purgetss`, `ti-ui`)
|
|
42
44
|
- ti-pro research agent
|
|
43
45
|
- Session hook that auto-detects Titanium projects (`tiapp.xml`, Alloy, PurgeTSS)
|
|
44
46
|
- Slash commands: `/ti-check`, `/ti-new-screen`, `/ti-audit`
|
|
@@ -72,9 +74,9 @@ claude # or gemini, or codex
|
|
|
72
74
|
```
|
|
73
75
|
|
|
74
76
|
What gets installed:
|
|
75
|
-
-
|
|
77
|
+
- The 3 TiTools skills to `~/.agents/skills/`
|
|
76
78
|
- ti-pro agent for Claude Code
|
|
77
|
-
- Platform symlinks
|
|
79
|
+
- Platform symlinks for Claude Code and Gemini CLI (Codex CLI auto-discovers from `~/.agents/skills/` — no symlink needed)
|
|
78
80
|
- Knowledge index in your project's `AGENTS.md`/`CLAUDE.md`/`GEMINI.md`
|
|
79
81
|
- Claude Code SessionStart hook for auto-updates
|
|
80
82
|
|
|
@@ -99,13 +101,45 @@ Use **Option A** if you only use Claude Code. Use **Option B** if you use multip
|
|
|
99
101
|
|
|
100
102
|
---
|
|
101
103
|
|
|
104
|
+
## Doc-based skills moved to tidev/skills
|
|
105
|
+
|
|
106
|
+
Starting with **v3.0.0**, five documentation-only skills migrated to the official [`tidev/skills`](https://github.com/tidev/skills) repository:
|
|
107
|
+
|
|
108
|
+
- `ti-api` — Complete Titanium API reference
|
|
109
|
+
- `ti-guides` — SDK fundamentals (Hyperloop, distribution, tiapp.xml)
|
|
110
|
+
- `ti-howtos` — Native feature integration (location, push, media, platform-specific APIs)
|
|
111
|
+
- `alloy-guides` — Alloy MVC framework reference
|
|
112
|
+
- `alloy-howtos` — Alloy CLI, configuration, debugging
|
|
113
|
+
|
|
114
|
+
**Why the move?** These skills are pure documentation mirrors of official Titanium and Alloy docs, so they belong in the community-maintained TiDev repository alongside the SDK source itself. Hansemann ([@hansemannn](https://github.com/hansemannn)) — TiDev maintainer — accepted the first batch in [tidev/skills#1](https://github.com/tidev/skills/pull/1) and `ti-howtos` followed in [tidev/skills#2](https://github.com/tidev/skills/pull/2).
|
|
115
|
+
|
|
116
|
+
**What stays in TiTools:** the three *opinionated* skills that reflect personal Titanium conventions and toolchain choices (PurgeTSS-first styling, specific architecture patterns).
|
|
117
|
+
|
|
118
|
+
### Upgrading from v2.x
|
|
119
|
+
|
|
120
|
+
If you have v2.x installed, the five migrated skills will be **auto-removed** the next time you run `titools update` (they're listed in `LEGACY_SKILLS`). To get them back, install from `tidev/skills` directly:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
git clone https://github.com/tidev/skills.git ~/Developer/git-clones/tidev-skills
|
|
124
|
+
# Then symlink the five skills into ~/.agents/skills/ or your AI assistant's skills dir
|
|
125
|
+
ln -s ~/Developer/git-clones/tidev-skills/skills/ti-api ~/.agents/skills/ti-api
|
|
126
|
+
ln -s ~/Developer/git-clones/tidev-skills/skills/ti-guides ~/.agents/skills/ti-guides
|
|
127
|
+
ln -s ~/Developer/git-clones/tidev-skills/skills/ti-howtos ~/.agents/skills/ti-howtos
|
|
128
|
+
ln -s ~/Developer/git-clones/tidev-skills/skills/alloy-guides ~/.agents/skills/alloy-guides
|
|
129
|
+
ln -s ~/Developer/git-clones/tidev-skills/skills/alloy-howtos ~/.agents/skills/alloy-howtos
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Refer to the [`tidev/skills` README](https://github.com/tidev/skills#readme) for the canonical install instructions, which may evolve independently of TiTools.
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
102
136
|
## Compatible platforms
|
|
103
137
|
|
|
104
138
|
| Platform | Status | Installation Path |
|
|
105
139
|
| --------------------------------------------------------- | ---------------- | ------------------- |
|
|
106
140
|
| [Claude Code](https://claude.ai/claude-code) | Fully Compatible | `~/.claude/skills/` |
|
|
107
141
|
| [Gemini CLI](https://github.com/google-gemini/gemini-cli) | Fully Compatible | `~/.gemini/skills/` |
|
|
108
|
-
| [Codex CLI](https://developers.openai.com/codex/cli/) | Fully Compatible | `~/.
|
|
142
|
+
| [Codex CLI](https://developers.openai.com/codex/cli/) | Fully Compatible | `~/.agents/skills/` (auto-discovered) |
|
|
109
143
|
|
|
110
144
|
All three platforms use the Agent Skills open standard: a `SKILL.md` file with YAML frontmatter.
|
|
111
145
|
|
|
@@ -160,7 +194,7 @@ Together they work like this:
|
|
|
160
194
|
| ------------------------------- | ------------------------------- | ----------------------------- |
|
|
161
195
|
| "Create a login screen" | Context about project structure | `ti-expert`, `ti-ui` |
|
|
162
196
|
| "Optimize ListView performance" | Points to docs location | `ti-ui` reads specific files |
|
|
163
|
-
| "Implement push notifications" | API reference paths | `ti-howtos`
|
|
197
|
+
| "Implement push notifications" | API reference paths | `ti-howtos` (via tidev/skills) |
|
|
164
198
|
|
|
165
199
|
You do not need to explicitly invoke skills. The AI detects when to use them based on your question.
|
|
166
200
|
|
|
@@ -172,18 +206,16 @@ The knowledge index is based on the latest Titanium SDK documentation. If your p
|
|
|
172
206
|
|
|
173
207
|
## Skills overview
|
|
174
208
|
|
|
175
|
-
| Skill
|
|
176
|
-
|
|
|
177
|
-
|
|
|
178
|
-
|
|
|
179
|
-
|
|
|
180
|
-
| ti-api | Complete API reference | Properties, methods, events, constants |
|
|
181
|
-
| ti-expert | Architecture and implementation | Starting point for most tasks |
|
|
182
|
-
| ti-guides | SDK fundamentals | Hyperloop, distribution, configuration |
|
|
183
|
-
| ti-howtos | Native feature integration | Location, Push, Media, Platform APIs |
|
|
184
|
-
| ti-ui | UI/UX patterns | Complex layouts, ListViews, platform UI |
|
|
209
|
+
| Skill | Purpose | Best For |
|
|
210
|
+
| --------- | ------------------------------- | --------------------------------------- |
|
|
211
|
+
| ti-expert | Architecture and implementation | Starting point for most tasks |
|
|
212
|
+
| purgetss | Utility-first styling | UI styling and animations |
|
|
213
|
+
| ti-ui | UI/UX patterns | Complex layouts, ListViews, platform UI |
|
|
185
214
|
|
|
186
|
-
|
|
215
|
+
Notes:
|
|
216
|
+
- `purgetss` reference files are audited against the official PurgeTSS documentation, but the workflow conventions are opinionated.
|
|
217
|
+
- `ti-expert` and `ti-ui` reflect personal Titanium conventions (biased toward PurgeTSS, Alloy-first).
|
|
218
|
+
- For purely doc-based references (API surface, native-feature how-tos, Alloy MVC, SDK guides, Alloy CLI), install [`tidev/skills`](https://github.com/tidev/skills) — it pairs cleanly with TiTools.
|
|
187
219
|
|
|
188
220
|
---
|
|
189
221
|
|
|
@@ -193,14 +225,14 @@ In addition to skills, this repository includes sub-agents for Claude Code. Sub-
|
|
|
193
225
|
|
|
194
226
|
### ti-pro
|
|
195
227
|
|
|
196
|
-
Deep-dive research specialist that preloads
|
|
228
|
+
Deep-dive research specialist that preloads the 3 TiTools skills.
|
|
197
229
|
|
|
198
|
-
| Aspect | Details
|
|
199
|
-
| ---------------- |
|
|
200
|
-
| Location | `~/.claude/agents/ti-pro.md`
|
|
201
|
-
| Model | Sonnet (comprehensive analysis)
|
|
202
|
-
| Tools | Read-only (Read, Grep, Glob)
|
|
203
|
-
| Preloaded Skills |
|
|
230
|
+
| Aspect | Details |
|
|
231
|
+
| ---------------- | ------------------------------------------------ |
|
|
232
|
+
| Location | `~/.claude/agents/ti-pro.md` |
|
|
233
|
+
| Model | Sonnet (comprehensive analysis) |
|
|
234
|
+
| Tools | Read-only (Read, Grep, Glob) |
|
|
235
|
+
| Preloaded Skills | `ti-expert`, `purgetss`, `ti-ui` |
|
|
204
236
|
|
|
205
237
|
When to use the agent vs skills:
|
|
206
238
|
|
|
@@ -241,8 +273,8 @@ When installed as a plugin, TiTools provides slash commands for common tasks:
|
|
|
241
273
|
|
|
242
274
|
These commands automatically invoke the relevant skills:
|
|
243
275
|
- `/ti-check` reads `tiapp.xml` and reports project health
|
|
244
|
-
- `/ti-new-screen` uses `
|
|
245
|
-
- `/ti-audit` uses `ti-expert` + `ti-ui` + `purgetss`
|
|
276
|
+
- `/ti-new-screen` uses `ti-expert` + `purgetss` to create properly structured files
|
|
277
|
+
- `/ti-audit` uses `ti-expert` + `ti-ui` + `purgetss` for comprehensive review
|
|
246
278
|
|
|
247
279
|
---
|
|
248
280
|
|
|
@@ -269,7 +301,7 @@ Skills are automatically activated based on your questions. Just ask naturally:
|
|
|
269
301
|
The AI will automatically use:
|
|
270
302
|
- `ti-expert` -> Architecture and controller structure
|
|
271
303
|
- `purgetss` -> Styling classes and animations (if PurgeTSS detected)
|
|
272
|
-
- `ti-howtos` -> Secure token storage
|
|
304
|
+
- `ti-howtos` from [`tidev/skills`](https://github.com/tidev/skills) (if installed) -> Secure token storage
|
|
273
305
|
|
|
274
306
|
You do not need to call skills explicitly. The AI reads skill descriptions and loads the appropriate knowledge when needed.
|
|
275
307
|
|
|
@@ -277,15 +309,11 @@ You do not need to call skills explicitly. The AI reads skill descriptions and l
|
|
|
277
309
|
|
|
278
310
|
All skills include automatic project detection to ensure compatibility:
|
|
279
311
|
|
|
280
|
-
| Skill
|
|
281
|
-
|
|
|
282
|
-
| purgetss
|
|
283
|
-
| ti-expert
|
|
284
|
-
|
|
|
285
|
-
| alloy-howtos | Alloy projects | Checks for `alloy.jmk`, `config.json` |
|
|
286
|
-
| ti-ui | Titanium projects | Checks for `tiapp.xml` (both Alloy and Classic) |
|
|
287
|
-
| ti-guides | Titanium projects | Checks for `tiapp.xml` (both Alloy and Classic) |
|
|
288
|
-
| ti-howtos | Titanium projects | Checks for `tiapp.xml` (both Alloy and Classic) |
|
|
312
|
+
| Skill | What It Detects | How It Works |
|
|
313
|
+
| --------- | --------------------- | ------------------------------------------------------------- |
|
|
314
|
+
| purgetss | PurgeTSS installation | Checks for `purgetss/` folder, `config.cjs`, `utilities.tss` |
|
|
315
|
+
| ti-expert | Alloy vs Classic | Checks for `app/` (Alloy) vs `Resources/` (Classic) structure |
|
|
316
|
+
| ti-ui | Titanium projects | Checks for `tiapp.xml` (both Alloy and Classic) |
|
|
289
317
|
|
|
290
318
|
Why this matters:
|
|
291
319
|
- PurgeTSS suggestions are only provided if PurgeTSS is installed
|
|
@@ -302,25 +330,17 @@ Why this matters:
|
|
|
302
330
|
│ (Start Here) │
|
|
303
331
|
└────────┬────────┘
|
|
304
332
|
│
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
┌───────────────┐
|
|
309
|
-
│ purgetss │
|
|
310
|
-
│ (Styling) │
|
|
311
|
-
└───────────────┘
|
|
312
|
-
│ │ │
|
|
313
|
-
└────────────────────┼────────────────────┘
|
|
314
|
-
│
|
|
315
|
-
┌────────────────────┼────────────────────┐
|
|
316
|
-
│ │ │
|
|
317
|
-
▼ ▼ ▼
|
|
318
|
-
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
|
|
319
|
-
│ ti-guides │ │ alloy-guides │ │ alloy-howtos │
|
|
320
|
-
│ (SDK) │ │ (MVC) │ │ (CLI) │
|
|
321
|
-
└───────────────┘ └───────────────┘ └───────────────┘
|
|
333
|
+
┌────────────┴────────────┐
|
|
334
|
+
│ │
|
|
335
|
+
▼ ▼
|
|
336
|
+
┌───────────────┐ ┌───────────────┐
|
|
337
|
+
│ purgetss │ │ ti-ui │
|
|
338
|
+
│ (Styling) │ │ (UI/UX) │
|
|
339
|
+
└───────────────┘ └───────────────┘
|
|
322
340
|
```
|
|
323
341
|
|
|
342
|
+
For pure API / native-feature how-to / MVC / SDK reference docs, install [`tidev/skills`](https://github.com/tidev/skills) alongside TiTools — its `ti-api`, `ti-guides`, `ti-howtos`, `alloy-guides`, and `alloy-howtos` skills layer below this hierarchy without conflict.
|
|
343
|
+
|
|
324
344
|
---
|
|
325
345
|
|
|
326
346
|
## Skill details
|
|
@@ -421,123 +441,7 @@ Key rules:
|
|
|
421
441
|
|
|
422
442
|
---
|
|
423
443
|
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
Native feature integration expert.
|
|
427
|
-
|
|
428
|
-
When it activates:
|
|
429
|
-
- Location services and Maps
|
|
430
|
-
- Push notifications (APNs/FCM)
|
|
431
|
-
- Local notifications
|
|
432
|
-
- Camera and Gallery
|
|
433
|
-
- Audio/Video playback
|
|
434
|
-
- File system operations
|
|
435
|
-
- SQLite databases
|
|
436
|
-
- HTTPClient networking
|
|
437
|
-
- WebView integration
|
|
438
|
-
- Android Intents and Services
|
|
439
|
-
- iOS Background Services, iCloud, Keychain
|
|
440
|
-
- Core Motion, WatchKit
|
|
441
|
-
|
|
442
|
-
Example prompts:
|
|
443
|
-
```
|
|
444
|
-
"How do I implement battery-efficient GPS tracking?"
|
|
445
|
-
"How do I set up push notifications for iOS and Android?"
|
|
446
|
-
"How do I capture and resize photos from the camera?"
|
|
447
|
-
"Download files with a progress indicator."
|
|
448
|
-
"How should I store sensitive data in iOS Keychain?"
|
|
449
|
-
"Create an Android background service."
|
|
450
|
-
"Integrate with Apple Watch using WatchKit."
|
|
451
|
-
"Handle background location updates on iOS."
|
|
452
|
-
```
|
|
453
|
-
|
|
454
|
-
Key rules:
|
|
455
|
-
- Always handle both `onload` and `onerror` for HTTPClient
|
|
456
|
-
- Always close database handles and result sets
|
|
457
|
-
- Use `imageAsResized` to avoid memory exhaustion
|
|
458
|
-
- Configure proper permissions in tiapp.xml
|
|
459
|
-
|
|
460
|
-
---
|
|
461
|
-
|
|
462
|
-
### ti-guides
|
|
463
|
-
|
|
464
|
-
SDK fundamentals and advanced configuration.
|
|
465
|
-
|
|
466
|
-
When it activates:
|
|
467
|
-
- Hyperloop native access
|
|
468
|
-
- Native module development
|
|
469
|
-
- App distribution (Play Store, App Store)
|
|
470
|
-
- tiapp.xml configuration
|
|
471
|
-
- CLI commands and options
|
|
472
|
-
- Memory and bridge optimization
|
|
473
|
-
- CommonJS module patterns
|
|
474
|
-
- Coding best practices
|
|
475
|
-
|
|
476
|
-
Example prompts:
|
|
477
|
-
```
|
|
478
|
-
"How do I access native iOS APIs using Hyperloop?"
|
|
479
|
-
"Configure tiapp.xml for a production build."
|
|
480
|
-
"What do I need for Google Play submission?"
|
|
481
|
-
"How do I create a native Android module?"
|
|
482
|
-
"Optimize bridge crossings for better performance."
|
|
483
|
-
"List reserved words I should avoid."
|
|
484
|
-
```
|
|
485
|
-
|
|
486
|
-
---
|
|
487
|
-
|
|
488
|
-
### alloy-guides
|
|
489
|
-
|
|
490
|
-
Complete Alloy MVC framework reference.
|
|
491
|
-
|
|
492
|
-
When it activates:
|
|
493
|
-
- MVC architecture concepts
|
|
494
|
-
- Backbone.js models and collections
|
|
495
|
-
- Data binding patterns
|
|
496
|
-
- XML markup elements
|
|
497
|
-
- TSS styling syntax
|
|
498
|
-
- Widget development
|
|
499
|
-
- Sync adapters (sql, properties)
|
|
500
|
-
- Migrations
|
|
501
|
-
|
|
502
|
-
Example prompts:
|
|
503
|
-
```
|
|
504
|
-
"Explain how Alloy data binding works."
|
|
505
|
-
"How do I create a model with the SQLite adapter?"
|
|
506
|
-
"Bind a collection to a TableView."
|
|
507
|
-
"How do I build a reusable widget?"
|
|
508
|
-
"Show the TSS syntax for platform-specific styles."
|
|
509
|
-
"How does the Alloy compilation process work?"
|
|
510
|
-
```
|
|
511
|
-
|
|
512
|
-
---
|
|
513
|
-
|
|
514
|
-
### alloy-howtos
|
|
515
|
-
|
|
516
|
-
Alloy CLI, configuration, and debugging.
|
|
517
|
-
|
|
518
|
-
When it activates:
|
|
519
|
-
- Alloy CLI commands (new, generate, compile)
|
|
520
|
-
- Configuration files (alloy.jmk, config.json)
|
|
521
|
-
- Debugging compilation errors
|
|
522
|
-
- Conditional views
|
|
523
|
-
- Custom XML tags
|
|
524
|
-
- Best practices and naming conventions
|
|
525
|
-
- Backbone.Events patterns
|
|
526
|
-
|
|
527
|
-
Example prompts:
|
|
528
|
-
```
|
|
529
|
-
"How do I generate a new model with the CLI?"
|
|
530
|
-
"Configure alloy.jmk build hooks."
|
|
531
|
-
"How do I fix "No app.js found"?"
|
|
532
|
-
"Create conditional views based on user state."
|
|
533
|
-
"How do I build a custom XML tag without widgets?"
|
|
534
|
-
"Set up Backbone.Events for global communication."
|
|
535
|
-
```
|
|
536
|
-
|
|
537
|
-
Key rules:
|
|
538
|
-
- Use Backbone.Events instead of Ti.App.fireEvent
|
|
539
|
-
- Never use double underscore prefixes (`__foo`)
|
|
540
|
-
- Access config at runtime with `Alloy.CFG.yourKey`
|
|
444
|
+
> **Looking for `ti-api`, `ti-guides`, `ti-howtos`, `alloy-guides`, or `alloy-howtos`?** Those five documentation-only skills now live in [`tidev/skills`](https://github.com/tidev/skills). See [Doc-based skills moved to tidev/skills](#doc-based-skills-moved-to-tidevskills) for install instructions.
|
|
541
445
|
|
|
542
446
|
---
|
|
543
447
|
|
|
@@ -636,7 +540,7 @@ Behavior depends on where you run it:
|
|
|
636
540
|
| With `--local` flag | Installs skills locally to `./.agents/skills/` in the current project |
|
|
637
541
|
|
|
638
542
|
What it does:
|
|
639
|
-
- Installs
|
|
543
|
+
- Installs the 3 TiTools skills (global or local depending on context)
|
|
640
544
|
- Installs ti-pro agent for Claude Code
|
|
641
545
|
- Detects installed AI platforms and lets you choose which to link
|
|
642
546
|
- Creates symlinks from platform directories to central skills
|
|
@@ -823,22 +727,17 @@ Then only add `large-title-enabled` per-window as needed:
|
|
|
823
727
|
</Window>
|
|
824
728
|
```
|
|
825
729
|
|
|
826
|
-
This pattern is documented across
|
|
730
|
+
This pattern is documented across three TiTools skills: `ti-ui`, `ti-expert`, and `purgetss`. The `ti-api` skill in [`tidev/skills`](https://github.com/tidev/skills) also documents the underlying Window properties.
|
|
827
731
|
|
|
828
732
|
---
|
|
829
733
|
|
|
830
734
|
## Skill contents summary
|
|
831
735
|
|
|
832
|
-
| Skill
|
|
833
|
-
|
|
|
834
|
-
|
|
|
835
|
-
|
|
|
836
|
-
|
|
|
837
|
-
| ti-api | API Quick Reference | 14 files (windows, views, lists, media, etc.) |
|
|
838
|
-
| ti-expert | Architecture + Implementation | 19 refs + 1 asset (patterns, testing, security, etc.) |
|
|
839
|
-
| ti-guides | Core Workflow | 14 files (hyperloop, distribution, etc.) |
|
|
840
|
-
| ti-howtos | Integration Workflow | 18 files (location, media, maps, automation, etc.) |
|
|
841
|
-
| ti-ui | UI Rules + Platform Diffs | 14 files (layouts, lists, gestures, etc.) |
|
|
736
|
+
| Skill | SKILL.md | References |
|
|
737
|
+
| --------- | ----------------------------- | ----------------------------------------------------- |
|
|
738
|
+
| ti-expert | Architecture + Implementation | 21 files (patterns, testing, security, etc.) |
|
|
739
|
+
| purgetss | Setup + Critical Rules | 29 files (grid, animations, icons, class-index, etc.) |
|
|
740
|
+
| ti-ui | UI Rules + Platform Diffs | 14 files (layouts, lists, gestures, etc.) |
|
|
842
741
|
|
|
843
742
|
---
|
|
844
743
|
|
package/agents/ti-pro.md
CHANGED
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ti-pro
|
|
3
|
-
description: Titanium SDK and Alloy research specialist. Loads the
|
|
3
|
+
description: Titanium SDK and Alloy research specialist. Loads the 3 TiTools skills and uses them together to answer research-style questions. Use for codebase analysis, architecture reviews, Titanium SDK implementation research, cross-feature questions, and platform-specific differences. Returns concrete findings with file and line references.
|
|
4
4
|
skills:
|
|
5
|
-
- alloy-guides
|
|
6
|
-
- alloy-howtos
|
|
7
|
-
- purgetss
|
|
8
5
|
- ti-expert
|
|
9
|
-
-
|
|
10
|
-
- ti-howtos
|
|
6
|
+
- purgetss
|
|
11
7
|
- ti-ui
|
|
12
8
|
tools: Read, Grep, Glob, Bash
|
|
13
9
|
model: sonnet
|
|
@@ -19,16 +15,14 @@ You are a research specialist for Titanium SDK and Alloy mobile development. Wit
|
|
|
19
15
|
|
|
20
16
|
## What You Do
|
|
21
17
|
|
|
22
|
-
When invoked, you research complex topics by consulting
|
|
18
|
+
When invoked, you research complex topics by consulting the 3 TiTools skills:
|
|
23
19
|
|
|
24
20
|
- `ti-expert` - Architecture, patterns, conventions
|
|
25
|
-
- `alloy-guides` - Alloy MVC complete reference
|
|
26
|
-
- `alloy-howtos` - CLI, config, debugging
|
|
27
21
|
- `purgetss` - Utility-first styling classes (optional add-on; use when the project already has it or the user asks about it)
|
|
28
|
-
- `ti-guides` - SDK official guides, Hyperloop, distribution
|
|
29
|
-
- `ti-howtos` - Native features, platform-specific APIs
|
|
30
22
|
- `ti-ui` - UI/UX patterns, layouts, gestures
|
|
31
23
|
|
|
24
|
+
If the user has [`tidev/skills`](https://github.com/tidev/skills) installed alongside TiTools, also consult its doc-based skills (`ti-api`, `ti-guides`, `ti-howtos`, `alloy-guides`, `alloy-howtos`) when API surface, native-feature how-tos, MVC reference, or SDK fundamentals are part of the question.
|
|
25
|
+
|
|
32
26
|
## Research Process
|
|
33
27
|
|
|
34
28
|
1. **Understand the query** - Identify what needs research.
|
|
@@ -53,7 +47,7 @@ When invoked, you research complex topics by consulting all 7 Titanium skills:
|
|
|
53
47
|
| -------------------------------------------- | -------------------------------------- |
|
|
54
48
|
| `/ti-expert` for architecture guidance | Inline consultation during development |
|
|
55
49
|
| `/purgetss` to verify a class | Quick inline reference |
|
|
56
|
-
| `/ti-
|
|
50
|
+
| `/ti-ui` for UI/UX patterns and layouts | Task-oriented guidance |
|
|
57
51
|
| Main conversation for iterative work | Sub-agents run in isolation |
|
|
58
52
|
|
|
59
53
|
## Response Format
|
|
@@ -73,10 +67,10 @@ Your app uses `Ti.App.fireEvent` which causes memory leaks.
|
|
|
73
67
|
|
|
74
68
|
## Key Points
|
|
75
69
|
- **ti-expert/references/anti-patterns.md:45** - Ti.App.fireEvent leaks memory
|
|
76
|
-
- **
|
|
70
|
+
- **ti-expert/references/controller-patterns.md:23** - Use Backbone.Events instead
|
|
77
71
|
|
|
78
72
|
## Solution
|
|
79
|
-
[Code example from
|
|
73
|
+
[Code example from ti-expert]
|
|
80
74
|
```
|
|
81
75
|
|
|
82
76
|
## Tool Usage
|
package/lib/cleanup.js
CHANGED
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
LEGACY_AGENTS,
|
|
10
10
|
getAgentsSkillsDir,
|
|
11
11
|
getClaudeAgentsDir,
|
|
12
|
+
getCodexSkillsDir,
|
|
12
13
|
} from './config.js';
|
|
13
14
|
import { detectPlatforms } from './platform.js';
|
|
14
15
|
import { existsSync, lstatSync, rmSync } from 'fs';
|
|
@@ -53,6 +54,14 @@ export function removeLegacySkillSymlinks(platformSkillsDir) {
|
|
|
53
54
|
return removeSkillSymlinks(platformSkillsDir, { legacyOnly: true });
|
|
54
55
|
}
|
|
55
56
|
|
|
57
|
+
// Codex reads skills from the canonical ~/.agents/skills/, so any TiTools-managed
|
|
58
|
+
// symlinks at ~/.codex/skills/ from earlier versions are redundant and should be
|
|
59
|
+
// cleaned up. Targets both active and legacy skill names.
|
|
60
|
+
export function removeCodexRedundantSymlinks(baseDir) {
|
|
61
|
+
const codexSkillsDir = getCodexSkillsDir(baseDir);
|
|
62
|
+
return removeSkillSymlinks(codexSkillsDir);
|
|
63
|
+
}
|
|
64
|
+
|
|
56
65
|
export function removeSkills(baseDir, options = {}) {
|
|
57
66
|
const skillsDir = getAgentsSkillsDir(baseDir);
|
|
58
67
|
const skillList = getSkillList(options);
|
|
@@ -74,6 +83,8 @@ export function cleanupLegacyArtifacts(baseDir) {
|
|
|
74
83
|
removeLegacySkillSymlinks(platform.skillsDir);
|
|
75
84
|
}
|
|
76
85
|
|
|
86
|
+
removeCodexRedundantSymlinks(baseDir);
|
|
87
|
+
|
|
77
88
|
if (baseDir) {
|
|
78
89
|
removeSkills(undefined, { legacyOnly: true });
|
|
79
90
|
removeAgents(undefined, { legacyOnly: true });
|
|
@@ -81,6 +92,7 @@ export function cleanupLegacyArtifacts(baseDir) {
|
|
|
81
92
|
for (const platform of globalPlatforms) {
|
|
82
93
|
removeLegacySkillSymlinks(platform.skillsDir);
|
|
83
94
|
}
|
|
95
|
+
removeCodexRedundantSymlinks(undefined);
|
|
84
96
|
}
|
|
85
97
|
}
|
|
86
98
|
|
|
@@ -89,6 +101,7 @@ export default {
|
|
|
89
101
|
getAgentList,
|
|
90
102
|
removeSkillSymlinks,
|
|
91
103
|
removeLegacySkillSymlinks,
|
|
104
|
+
removeCodexRedundantSymlinks,
|
|
92
105
|
removeSkills,
|
|
93
106
|
removeAgents,
|
|
94
107
|
cleanupLegacyArtifacts,
|
package/lib/commands/skills.js
CHANGED
|
@@ -120,7 +120,8 @@ export async function skillsCommand(options) {
|
|
|
120
120
|
|
|
121
121
|
if (detectedPlatforms.length === 0 && !options.path && !isLocal) {
|
|
122
122
|
console.log(chalk.yellow('No AI coding assistants detected globally.'));
|
|
123
|
-
console.log('Install one of: Claude Code
|
|
123
|
+
console.log('Install one of: Claude Code or Gemini CLI.');
|
|
124
|
+
console.log('(Codex CLI is supported via the canonical ~/.agents/skills/ — no platform-specific symlink needed.)');
|
|
124
125
|
console.log('Or use: titools install --local');
|
|
125
126
|
process.exit(1);
|
|
126
127
|
}
|
package/lib/config.js
CHANGED
|
@@ -31,18 +31,19 @@ export const REPO_API_URL = 'https://api.github.com/repos/macCesar/titools';
|
|
|
31
31
|
// Skills to install
|
|
32
32
|
export const SKILLS = [
|
|
33
33
|
'ti-expert',
|
|
34
|
-
'ti-api',
|
|
35
34
|
'purgetss',
|
|
36
35
|
'ti-ui',
|
|
37
|
-
'ti-howtos',
|
|
38
|
-
'ti-guides',
|
|
39
|
-
'alloy-guides',
|
|
40
|
-
'alloy-howtos',
|
|
41
36
|
];
|
|
42
37
|
// Legacy skills to remove during updates/uninstall
|
|
38
|
+
// ti-api, ti-guides, ti-howtos, alloy-guides, alloy-howtos moved to https://github.com/tidev/skills in v3.0.0
|
|
43
39
|
export const LEGACY_SKILLS = [
|
|
44
40
|
'alloy-expert',
|
|
45
41
|
'ti-branding',
|
|
42
|
+
'ti-api',
|
|
43
|
+
'ti-guides',
|
|
44
|
+
'ti-howtos',
|
|
45
|
+
'alloy-guides',
|
|
46
|
+
'alloy-howtos',
|
|
46
47
|
];
|
|
47
48
|
|
|
48
49
|
// Agents to install
|
|
@@ -77,12 +78,9 @@ export const getPlatforms = (baseDir = os.homedir()) => [
|
|
|
77
78
|
skillsDir: getGeminiSkillsDir(baseDir),
|
|
78
79
|
configDir: path.join(baseDir, '.gemini'),
|
|
79
80
|
},
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
skillsDir: getCodexSkillsDir(baseDir),
|
|
84
|
-
configDir: path.join(baseDir, '.codex'),
|
|
85
|
-
},
|
|
81
|
+
// Codex CLI is intentionally omitted: it auto-discovers skills from the
|
|
82
|
+
// canonical ~/.agents/skills/ per the agentskills.io standard, so a
|
|
83
|
+
// platform-specific symlink at ~/.codex/skills/ would be redundant.
|
|
86
84
|
];
|
|
87
85
|
|
|
88
86
|
// Files to install
|
package/lib/platform.js
CHANGED
|
@@ -26,7 +26,7 @@ export function detectPlatforms(baseDir) {
|
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* Get platform by name
|
|
29
|
-
* @param {string} name - Platform name (claude, gemini
|
|
29
|
+
* @param {string} name - Platform name (claude, gemini)
|
|
30
30
|
* @param {string} baseDir - Optional base directory
|
|
31
31
|
* @returns {Object|null} Platform object or null
|
|
32
32
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@maccesar/titools",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"description": "Titanium SDK skills and agents for AI coding assistants (Claude Code, Gemini CLI, Codex CLI)",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -57,8 +57,7 @@
|
|
|
57
57
|
"lib/",
|
|
58
58
|
"skills/",
|
|
59
59
|
"agents/",
|
|
60
|
-
"AGENTS-VERCEL-RESEARCH.md"
|
|
61
|
-
"scripts/titools-docs"
|
|
60
|
+
"AGENTS-VERCEL-RESEARCH.md"
|
|
62
61
|
],
|
|
63
62
|
"publishConfig": {
|
|
64
63
|
"access": "public"
|