symfonia-ai-tools 1.5.0 → 1.7.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 (28) hide show
  1. package/lib/installer.mjs +23 -6
  2. package/package.json +1 -1
  3. package/templates/base/_ai/skills/smf-aws-analysis/SKILL.md +5 -0
  4. package/templates/base/_ai/skills/smf-babysit-prs/SKILL.md +5 -0
  5. package/templates/base/_ai/skills/smf-debug/SKILL.md +5 -0
  6. package/templates/base/_ai/skills/smf-figma-analysis/SKILL.md +5 -0
  7. package/templates/base/_ai/skills/smf-fill-worklogs/SKILL.md +5 -0
  8. package/templates/base/_ai/skills/smf-grafana-logs/SKILL.md +5 -0
  9. package/templates/base/_ai/skills/smf-hotfix/SKILL.md +5 -0
  10. package/templates/base/_ai/skills/smf-jira-explorer/SKILL.md +5 -0
  11. package/templates/base/_ai/skills/smf-jira-task/SKILL.md +5 -0
  12. package/templates/base/_ai/skills/smf-my-prs/SKILL.md +5 -0
  13. package/templates/base/_ai/skills/smf-pr-dashboard/SKILL.md +5 -0
  14. package/templates/base/_ai/skills/smf-pr-prepare/SKILL.md +5 -0
  15. package/templates/base/_ai/skills/smf-refactor/SKILL.md +5 -0
  16. package/templates/base/_ai/skills/smf-write-tests/SKILL.md +5 -0
  17. package/templates/base/_ai/skills/smf-wtf/SKILL.md +5 -0
  18. package/templates/base/_github/copilot-instructions.md +14 -0
  19. package/templates/packs/laravel/_ai/skills/smf-migration/SKILL.md +5 -0
  20. package/templates/packs/laravel/_ai/skills/smf-new-endpoint/SKILL.md +5 -0
  21. package/templates/packs/laravel/_ai/skills/smf-new-module/SKILL.md +5 -0
  22. package/templates/packs/laravel/_ai/skills/smf-queued-job/SKILL.md +5 -0
  23. package/templates/packs/laravel/_ai/skills/smf-testing-feature/SKILL.md +5 -0
  24. package/templates/packs/laravel/_ai/skills/smf-testing-manual/SKILL.md +5 -0
  25. package/templates/packs/laravel/_ai/skills/smf-testing-unit/SKILL.md +5 -0
  26. package/templates/packs/vue3/_ai/skills/smf-api-integration/SKILL.md +5 -0
  27. package/templates/packs/vue3/_ai/skills/smf-new-component/SKILL.md +5 -0
  28. package/templates/packs/vue3/_ai/skills/smf-new-module/SKILL.md +5 -0
package/lib/installer.mjs CHANGED
@@ -149,12 +149,20 @@ export async function install(packageRoot, answers) {
149
149
  step(++currentStep, totalSteps, `${t('i.step.guidelines')} ${cyan('guidelines.md')}`);
150
150
  await assembleGuidelines(templatesDir, targetDir, answers, selectedPacks, allPacks, mode);
151
151
 
152
- // 4. Mirror .ai/ → .github/
153
- if (answers.toolCopilot) {
154
- step(++currentStep, totalSteps, `${t('i.step.mirror')} ${cyan('.ai/')} → ${cyan('.github/')}`);
155
- await mirrorAiToGithub(targetDir, 'instructions', mode);
156
- await mirrorAiToGithub(targetDir, 'prompts', mode);
157
- await mirrorAiToGithub(targetDir, 'skills', mode);
152
+ // 4. Mirror .ai/ → .github/ and .ai/skills/ → .claude/skills/
153
+ if (answers.toolCopilot || answers.toolClaude) {
154
+ const targets = [];
155
+ if (answers.toolCopilot) targets.push('.github/');
156
+ if (answers.toolClaude) targets.push('.claude/skills/');
157
+ step(++currentStep, totalSteps, `${t('i.step.mirror')} ${cyan('.ai/')} → ${targets.map(p => cyan(p)).join(', ')}`);
158
+ if (answers.toolCopilot) {
159
+ await mirrorAiToGithub(targetDir, 'instructions', mode);
160
+ await mirrorAiToGithub(targetDir, 'prompts', mode);
161
+ await mirrorAiToGithub(targetDir, 'skills', mode);
162
+ }
163
+ if (answers.toolClaude) {
164
+ await mirrorAiToClaude(targetDir, 'skills', mode);
165
+ }
158
166
  } else {
159
167
  ++currentStep;
160
168
  }
@@ -315,6 +323,15 @@ async function mirrorAiToGithub(targetDir, subdir, mode) {
315
323
  );
316
324
  }
317
325
 
326
+ async function mirrorAiToClaude(targetDir, subdir, mode) {
327
+ await mirrorDir(
328
+ join(targetDir, '.ai', subdir),
329
+ join(targetDir, '.claude', subdir),
330
+ targetDir,
331
+ mode,
332
+ );
333
+ }
334
+
318
335
  // ─── Placeholders ───
319
336
 
320
337
  function replacePlaceholders(content, a) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "symfonia-ai-tools",
3
- "version": "1.5.0",
3
+ "version": "1.7.0",
4
4
  "description": "AI tooling setup for your project - Claude Code, GitHub Copilot, Cursor, Gemini, Junie, GSD",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: smf-aws-analysis
3
+ description: Plan cloud infrastructure — AWS service selection, architecture design, cost estimation.
4
+ ---
5
+
1
6
  # Skill: AWS Architecture Analysis
2
7
 
3
8
  ## Trigger
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: smf-babysit-prs
3
+ description: Monitor pull requests waiting for your review and set up recurring PR checks.
4
+ ---
5
+
1
6
  # Skill: Babysit PRs
2
7
 
3
8
  ## Trigger
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: smf-debug
3
+ description: Investigate bugs and unexpected behavior using a systematic hypothesis-driven approach.
4
+ ---
5
+
1
6
  # Skill: Systematic Debugging
2
7
 
3
8
  ## Trigger
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: smf-figma-analysis
3
+ description: Analyze Figma designs to produce detailed UI specifications for implementation.
4
+ ---
5
+
1
6
  # Skill: Figma Mockup Analysis
2
7
 
3
8
  ## Trigger
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: smf-fill-worklogs
3
+ description: Fill Jira worklogs to meet daily hour targets for a date or date range.
4
+ ---
5
+
1
6
  # Skill: Fill Worklogs
2
7
 
3
8
  ## Trigger
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: smf-grafana-logs
3
+ description: Check application logs and debug production errors via Grafana Loki.
4
+ ---
5
+
1
6
  # Skill: Grafana Logs
2
7
 
3
8
  ## Trigger
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: smf-hotfix
3
+ description: Immediate fix workflow for production bugs — hotfix branch, minimal fix, deploy.
4
+ ---
5
+
1
6
  # Skill: Hotfix
2
7
 
3
8
  ## Trigger
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: smf-jira-explorer
3
+ description: Read-only Jira exploration — sprint status, epic breakdown, backlog, search, and stats.
4
+ ---
5
+
1
6
  # Skill: Jira Explorer
2
7
 
3
8
  ## Trigger
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: smf-jira-task
3
+ description: Implement features and bugfixes from Jira tickets — full development workflow.
4
+ ---
5
+
1
6
  # Skill: Jira Task — Full Development Workflow
2
7
 
3
8
  ## Trigger
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: smf-my-prs
3
+ description: Check status of your own open pull requests — approvals, comments, CI status.
4
+ ---
5
+
1
6
  # Skill: My PRs
2
7
 
3
8
  ## Trigger
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: smf-pr-dashboard
3
+ description: Full PR dashboard — incoming PRs waiting for review and own PRs approval status.
4
+ ---
5
+
1
6
  # Skill: PR Dashboard
2
7
 
3
8
  ## Trigger
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: smf-pr-prepare
3
+ description: Prepare code before pushing and creating a pull request — lint, test, changelog, commit cleanup.
4
+ ---
5
+
1
6
  # Skill: Prepare Pull Request
2
7
 
3
8
  ## Trigger
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: smf-refactor
3
+ description: Extract, restructure, or simplify code without changing behavior.
4
+ ---
5
+
1
6
  # Skill: Systematic Refactoring
2
7
 
3
8
  ## Trigger
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: smf-write-tests
3
+ description: Add test coverage to existing code that lacks tests.
4
+ ---
5
+
1
6
  # Skill: Write Tests for Existing Code
2
7
 
3
8
  ## Trigger
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: smf-wtf
3
+ description: Resume session context — understand current branch, recent changes, and development status.
4
+ ---
5
+
1
6
  # Skill: WTF — Where am I?
2
7
 
3
8
  ## Trigger
@@ -1 +1,15 @@
1
1
  Read and follow .ai/guidelines.md as mandatory context for all work in this project.
2
+
3
+ ## Skills
4
+
5
+ This project has workflow skills in `.github/skills/`. Each subdirectory contains a `SKILL.md` with a complete workflow.
6
+
7
+ **Before starting any task**, scan `.github/skills/` for a matching skill. If the user's request matches a skill's trigger or description, follow that skill's workflow step by step.
8
+
9
+ **How to use skills:**
10
+ 1. List available skills: read directory names in `.github/skills/`
11
+ 2. Check if user's request matches a skill name or its YAML frontmatter `description`
12
+ 3. If match found — read the full `SKILL.md` and follow its steps
13
+ 4. If user explicitly asks for a skill by name (e.g. "use smf-debug") — always load and follow it
14
+
15
+ **Proactive skill suggestions:** When you recognize a task that matches an available skill, suggest it to the user before proceeding manually.
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: smf-migration
3
+ description: Create or modify Laravel database schema with migrations.
4
+ ---
5
+
1
6
  # Skill: Database Migration (Laravel)
2
7
 
3
8
  ## Trigger
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: smf-new-endpoint
3
+ description: Add a new API endpoint to an existing Laravel module.
4
+ ---
5
+
1
6
  # Skill: New API Endpoint (Laravel)
2
7
 
3
8
  ## Trigger
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: smf-new-module
3
+ description: Create a new Laravel business domain module with full structure.
4
+ ---
5
+
1
6
  # Skill: New Module (Laravel)
2
7
 
3
8
  ## Trigger
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: smf-queued-job
3
+ description: Create Laravel asynchronous background jobs, event listeners, and scheduled tasks.
4
+ ---
5
+
1
6
  # Skill: Queued Job (Laravel)
2
7
 
3
8
  ## Trigger
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: smf-testing-feature
3
+ description: Write Laravel feature tests — HTTP controller and service integration tests with real database.
4
+ ---
5
+
1
6
  # Skill: Laravel Feature Tests
2
7
 
3
8
  ## Trigger
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: smf-testing-manual
3
+ description: Create or update manual .http test files for API endpoint testing.
4
+ ---
5
+
1
6
  # Skill: Manual HTTP Tests
2
7
 
3
8
  ## Trigger
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: smf-testing-unit
3
+ description: Write Laravel unit tests — isolated class tests without database or HTTP.
4
+ ---
5
+
1
6
  # Skill: Laravel Unit Tests
2
7
 
3
8
  ## Trigger
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: smf-api-integration
3
+ description: Connect Vue 3 frontend to backend API endpoints with TypeScript types and composables.
4
+ ---
5
+
1
6
  # Skill: API Integration (Vue 3 + TypeScript)
2
7
 
3
8
  ## Trigger
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: smf-new-component
3
+ description: Create a new reusable Vue 3 component with TypeScript.
4
+ ---
5
+
1
6
  # Skill: New Component (Vue 3 + TypeScript)
2
7
 
3
8
  ## Trigger
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: smf-new-module
3
+ description: Create a new Vue 3 feature module from scratch with router, store, and views.
4
+ ---
5
+
1
6
  # Skill: New Module (Vue 3 + TypeScript)
2
7
 
3
8
  ## Trigger