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`).
|
||||
- Structure content as: Quick Reference first, then detailed sections.
|
||||
- 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.
|
||||
|
||||
@@ -18,10 +20,11 @@ ArkTS/ArkUI development for HarmonyOS applications.
|
||||
|
||||
**Covers:**
|
||||
- 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
|
||||
- Network requests and local storage
|
||||
- TypeScript to ArkTS migration
|
||||
- Code obfuscation, linting, and debugging tools
|
||||
|
||||
### 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
|
||||
```
|
||||
|
||||
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).
|
||||
|
||||
> 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
|
||||
CHANGELOG.md # Version history
|
||||
README.md # This file
|
||||
arkts-development/
|
||||
├── SKILL.md
|
||||
├── assets/
|
||||
│ ├── component-template.ets
|
||||
│ └── list-page-template.ets
|
||||
│ ├── list-page-template.ets
|
||||
│ └── state-management-v2-examples.ets
|
||||
└── references/
|
||||
├── api-reference.md
|
||||
├── arkguard-obfuscation.md
|
||||
@@ -88,7 +87,8 @@ arkts-development/
|
||||
├── component-patterns.md
|
||||
├── hstack.md
|
||||
├── hvigor-commandline.md
|
||||
└── migration-guide.md
|
||||
├── migration-guide.md
|
||||
└── state-management-v2.md
|
||||
harmonyos-build-deploy/
|
||||
├── SKILL.md
|
||||
└── references/
|
||||
|
||||
@@ -248,6 +248,114 @@ outputs/
|
||||
| HAR | `.har` | Harmony Archive - Static library (compiled into HAP) |
|
||||
| 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
|
||||
|
||||
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