Compare commits
8 Commits
7f1ff2df6b
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c0f1574e47 | ||
|
|
b7ebfea749 | ||
|
|
172531e473 | ||
|
|
0b6a0eff34 | ||
|
|
61fa472a88 | ||
|
|
5ee63b901a | ||
|
|
19125ca794 | ||
|
|
87993a5a2c |
31
AGENTS.md
31
AGENTS.md
@@ -195,3 +195,34 @@ description: ... # Detailed description for agent matching
|
|||||||
- Use **fenced code blocks** with language specifiers (`typescript`, `bash`).
|
- Use **fenced code blocks** with language specifiers (`typescript`, `bash`).
|
||||||
- Structure content as: Quick Reference first, then detailed sections.
|
- Structure content as: Quick Reference first, then detailed sections.
|
||||||
- Cross-reference related skills and reference files by relative path.
|
- Cross-reference related skills and reference files by relative path.
|
||||||
|
|
||||||
|
## Maintaining Documentation
|
||||||
|
|
||||||
|
### When to Update README.md
|
||||||
|
|
||||||
|
**ALWAYS check and update README.md after making changes to the repository.**
|
||||||
|
|
||||||
|
Update README when:
|
||||||
|
- ✅ **Adding/removing files** - Update the repository structure section
|
||||||
|
- ✅ **Adding new features/sections** - Update the "Covers" section of relevant skills
|
||||||
|
- ✅ **Modifying project structure** - Update the file tree diagram
|
||||||
|
- ✅ **Adding new skill directories** - Add to the "Available Skills" section
|
||||||
|
|
||||||
|
Do NOT update README for:
|
||||||
|
- ❌ Bug fixes that don't change functionality
|
||||||
|
- ❌ Content improvements that don't add new features
|
||||||
|
- ❌ Wording/typo corrections
|
||||||
|
- ❌ Internal refactoring without user-visible changes
|
||||||
|
|
||||||
|
### Update Checklist
|
||||||
|
|
||||||
|
When making changes, follow this checklist:
|
||||||
|
|
||||||
|
1. Make your changes to skill files
|
||||||
|
2. **Check**: Did I add/remove files? → Update file tree in README
|
||||||
|
3. **Check**: Did I add new functionality? → Update "Covers" section in README
|
||||||
|
4. Update README.md if needed
|
||||||
|
5. **ALWAYS** update CHANGELOG.md with a summary of changes for every commit
|
||||||
|
6. **ALWAYS** sync the version badge in README.md when CHANGELOG.md version changes
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
33
CHANGELOG.md
Normal file
33
CHANGELOG.md
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
||||||
|
|
||||||
|
## [1.0.1] - 2026-02-11
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- **harmonyos-build-deploy**: Finding Modules section (module definitions in build-profile.json5, module type identification)
|
||||||
|
- **harmonyos-build-deploy**: Finding Module Build Outputs section (output paths, signed/unsigned artifacts, search commands)
|
||||||
|
|
||||||
|
## [1.0.0] - 2026-02-10
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- **arkts-development** skill
|
||||||
|
- ArkUI declarative UI framework guide
|
||||||
|
- State management V1 decorators (@State, @Prop, @Link, @Provide/@Consume, @Observed/@ObjectLink)
|
||||||
|
- State management V2 decorators (@ComponentV2, @Local, @Param, @Event, @ObservedV2, @Trace, @Computed, @Monitor, @Provider/@Consumer)
|
||||||
|
- Component lifecycle and navigation (router)
|
||||||
|
- Network requests (http) and local storage (preferences)
|
||||||
|
- TypeScript to ArkTS migration guide
|
||||||
|
- Code templates: component-template.ets, list-page-template.ets, state-management-v2-examples.ets
|
||||||
|
- Reference docs: API reference, component patterns, ArkGuard obfuscation, CodeLinter, hstack, hvigorw command-line
|
||||||
|
- **harmonyos-build-deploy** skill
|
||||||
|
- hvigorw build commands (assembleApp, assembleHap, assembleHsp, assembleHar)
|
||||||
|
- ohpm dependency management
|
||||||
|
- hdc device installation and management
|
||||||
|
- Troubleshooting common build/deploy errors
|
||||||
|
- Device installation reference guide
|
||||||
|
- **AGENTS.md** with coding conventions and documentation guidelines
|
||||||
20
README.md
20
README.md
@@ -1,4 +1,6 @@
|
|||||||
# AI Skills - HarmonyOS/ArkTS Development
|
# AI Agent Skills - HarmonyOS/ArkTS Development
|
||||||
|
|
||||||
|
[](CHANGELOG.md)
|
||||||
|
|
||||||
AI coding agent skills for HarmonyOS/ArkTS application development.
|
AI coding agent skills for HarmonyOS/ArkTS application development.
|
||||||
|
|
||||||
@@ -18,10 +20,11 @@ ArkTS/ArkUI development for HarmonyOS applications.
|
|||||||
|
|
||||||
**Covers:**
|
**Covers:**
|
||||||
- ArkUI declarative UI framework
|
- ArkUI declarative UI framework
|
||||||
- State management decorators (@State, @Prop, @Link)
|
- State management V1 (@State, @Prop, @Link) and V2 (@Local, @Param, @Event, @ObservedV2, @Trace)
|
||||||
- Component lifecycle and navigation
|
- Component lifecycle and navigation
|
||||||
- Network requests and local storage
|
- Network requests and local storage
|
||||||
- TypeScript to ArkTS migration
|
- TypeScript to ArkTS migration
|
||||||
|
- Code obfuscation, linting, and debugging tools
|
||||||
|
|
||||||
### harmonyos-build-deploy
|
### harmonyos-build-deploy
|
||||||
|
|
||||||
@@ -52,12 +55,6 @@ npx skills add https://github.com/FadingLight9291117/arkts_skills --skill harmon
|
|||||||
npx skills add https://github.com/FadingLight9291117/arkts_skills --skill arkts-development
|
npx skills add https://github.com/FadingLight9291117/arkts_skills --skill arkts-development
|
||||||
```
|
```
|
||||||
|
|
||||||
Or search for skills on [skills.sh](https://skills.sh/) and run the corresponding install command:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
npx skills add <owner/repo>
|
|
||||||
```
|
|
||||||
|
|
||||||
Once installed, the skill is automatically configured for your AI agent (supports Cursor, Claude Code, Copilot, and other major agents).
|
Once installed, the skill is automatically configured for your AI agent (supports Cursor, Claude Code, Copilot, and other major agents).
|
||||||
|
|
||||||
> No additional CLI installation required — `npx` downloads and runs it automatically. To disable anonymous telemetry, set the environment variable `DISABLE_TELEMETRY=1`.
|
> No additional CLI installation required — `npx` downloads and runs it automatically. To disable anonymous telemetry, set the environment variable `DISABLE_TELEMETRY=1`.
|
||||||
@@ -75,12 +72,14 @@ These skills are automatically loaded by the AI agent when relevant tasks are de
|
|||||||
|
|
||||||
```
|
```
|
||||||
AGENTS.md # Guidelines for AI agents
|
AGENTS.md # Guidelines for AI agents
|
||||||
|
CHANGELOG.md # Version history
|
||||||
README.md # This file
|
README.md # This file
|
||||||
arkts-development/
|
arkts-development/
|
||||||
├── SKILL.md
|
├── SKILL.md
|
||||||
├── assets/
|
├── assets/
|
||||||
│ ├── component-template.ets
|
│ ├── component-template.ets
|
||||||
│ └── list-page-template.ets
|
│ ├── list-page-template.ets
|
||||||
|
│ └── state-management-v2-examples.ets
|
||||||
└── references/
|
└── references/
|
||||||
├── api-reference.md
|
├── api-reference.md
|
||||||
├── arkguard-obfuscation.md
|
├── arkguard-obfuscation.md
|
||||||
@@ -88,7 +87,8 @@ arkts-development/
|
|||||||
├── component-patterns.md
|
├── component-patterns.md
|
||||||
├── hstack.md
|
├── hstack.md
|
||||||
├── hvigor-commandline.md
|
├── hvigor-commandline.md
|
||||||
└── migration-guide.md
|
├── migration-guide.md
|
||||||
|
└── state-management-v2.md
|
||||||
harmonyos-build-deploy/
|
harmonyos-build-deploy/
|
||||||
├── SKILL.md
|
├── SKILL.md
|
||||||
└── references/
|
└── references/
|
||||||
|
|||||||
@@ -248,6 +248,114 @@ outputs/
|
|||||||
| HAR | `.har` | Harmony Archive - Static library (compiled into HAP) |
|
| HAR | `.har` | Harmony Archive - Static library (compiled into HAP) |
|
||||||
| APP | `.app` | Complete application bundle (all HAP + HSP) |
|
| APP | `.app` | Complete application bundle (all HAP + HSP) |
|
||||||
|
|
||||||
|
## Finding Modules
|
||||||
|
|
||||||
|
All modules are defined in `build-profile.json5` at the project root, in the `modules` array.
|
||||||
|
|
||||||
|
### Module Definition Structure
|
||||||
|
|
||||||
|
```json5
|
||||||
|
{
|
||||||
|
"modules": [
|
||||||
|
{
|
||||||
|
"name": "entry", // Module name (used in build commands)
|
||||||
|
"srcPath": "./entry", // Module source path (relative to project root)
|
||||||
|
"targets": [ // Build target config (optional)
|
||||||
|
{
|
||||||
|
"name": "default",
|
||||||
|
"applyToProducts": ["default", "app_store"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "support_http",
|
||||||
|
"srcPath": "./support/support_http",
|
||||||
|
"targets": [...]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Key Fields
|
||||||
|
|
||||||
|
| Field | Description |
|
||||||
|
|-------|-------------|
|
||||||
|
| `name` | Module name, used in build commands (e.g., `-p module=entry@default`) |
|
||||||
|
| `srcPath` | Module source path relative to project root |
|
||||||
|
| `targets` | Build target config, specifies which products this module applies to |
|
||||||
|
|
||||||
|
### Module Type Identification
|
||||||
|
|
||||||
|
| Characteristic | Module Type |
|
||||||
|
|----------------|-------------|
|
||||||
|
| Has `targets` and `name` is `entry` | **HAP** (Application entry) |
|
||||||
|
| Has `targets` config | **HSP** (Dynamic shared package) |
|
||||||
|
| No `targets` config | **HAR** (Static library, compiled into other modules) |
|
||||||
|
|
||||||
|
### Quick Commands
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Read build-profile.json5 to find all modules
|
||||||
|
cat build-profile.json5
|
||||||
|
|
||||||
|
# Extract module names and paths (grep)
|
||||||
|
grep -E '"name"|"srcPath"' build-profile.json5
|
||||||
|
```
|
||||||
|
|
||||||
|
## Finding Module Build Outputs
|
||||||
|
|
||||||
|
Module build outputs are located at:
|
||||||
|
|
||||||
|
```
|
||||||
|
{srcPath}/build/default/outputs/default/
|
||||||
|
```
|
||||||
|
|
||||||
|
**Note:** Debug and Release builds output to the same directory. The difference is in the signing configuration used (defined in `build-profile.json5` → `signingConfigs`).
|
||||||
|
|
||||||
|
### Output Files
|
||||||
|
|
||||||
|
| File | Description |
|
||||||
|
|------|-------------|
|
||||||
|
| `{name}-default-signed.hsp` | **Signed HSP** (ready for installation) |
|
||||||
|
| `{name}-default-unsigned.hsp` | Unsigned HSP |
|
||||||
|
| `{name}.har` | HAR static library |
|
||||||
|
| `app/{name}-default.hsp` | Intermediate artifact |
|
||||||
|
| `mapping/sourceMaps.map` | Source maps for debugging |
|
||||||
|
|
||||||
|
### Example
|
||||||
|
|
||||||
|
For module `support_http` with `srcPath: "./support/support_http"`:
|
||||||
|
|
||||||
|
```
|
||||||
|
support/support_http/build/default/outputs/default/
|
||||||
|
├── support_http-default-signed.hsp ← Signed, ready to install
|
||||||
|
├── support_http-default-unsigned.hsp
|
||||||
|
├── support_http.har
|
||||||
|
├── app/
|
||||||
|
│ └── support_http-default.hsp
|
||||||
|
├── mapping/
|
||||||
|
│ └── sourceMaps.map
|
||||||
|
└── pack.info
|
||||||
|
```
|
||||||
|
|
||||||
|
### Search Commands
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Find all signed HSP/HAP outputs
|
||||||
|
dir /s /b "*-signed.hsp" "*-signed.hap" 2>nul # Windows
|
||||||
|
find . -name "*-signed.hsp" -o -name "*-signed.hap" # Linux/macOS
|
||||||
|
|
||||||
|
# Find specific module's output
|
||||||
|
dir /s /b "{srcPath}\build\default\outputs\default\*" # Windows
|
||||||
|
ls -la {srcPath}/build/default/outputs/default/ # Linux/macOS
|
||||||
|
```
|
||||||
|
|
||||||
|
### Notes
|
||||||
|
|
||||||
|
1. **Build required**: If `build/` directory doesn't exist, run build first
|
||||||
|
2. **Project-level outputs**: Complete app bundle is in project root `outputs/` after `assembleApp`
|
||||||
|
3. **oh_modules outputs**: Dependency modules may have outputs in `oh_modules/@xxx/build/...` (these are resolved dependencies)
|
||||||
|
|
||||||
## Unwanted Modules in Output Directory
|
## Unwanted Modules in Output Directory
|
||||||
|
|
||||||
Sometimes HSP files appear in the output directory that are **not listed in `build-profile.json5`**. These modules should not be deployed.
|
Sometimes HSP files appear in the output directory that are **not listed in `build-profile.json5`**. These modules should not be deployed.
|
||||||
|
|||||||
Reference in New Issue
Block a user