Initial release v1.0.0
Open-source marketplace for AI Agent skills. Features: - Next.js 15 web app with i18n (en/fa) - CLI tool for skill installation (npx skillhub) - GitHub crawler/indexer with multi-strategy discovery - Security scanning for all indexed skills - Self-hostable with Docker Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
96
scripts/add-parent-categories.sql
Normal file
96
scripts/add-parent-categories.sql
Normal file
@@ -0,0 +1,96 @@
|
||||
-- Add Parent Categories for Hierarchical Structure (Phase 2)
|
||||
-- Version: 1.0
|
||||
-- Date: February 2026
|
||||
--
|
||||
-- This script adds 7 parent "chapter" categories and links existing 23 categories to them.
|
||||
-- Parent categories have skill_count = 0 (skills are only assigned to leaf categories).
|
||||
|
||||
-- Insert 7 parent categories
|
||||
INSERT INTO categories (id, name, slug, description, icon, color, sort_order, skill_count, created_at)
|
||||
VALUES
|
||||
('parent-dev', 'Development', 'development', 'Software development and programming tools', 'Code2', '#3B82F6', 1, 0, NOW()),
|
||||
('parent-ai', 'AI & Automation', 'ai-automation', 'Artificial intelligence and automation tools', 'Brain', '#8B5CF6', 2, 0, NOW()),
|
||||
('parent-data', 'Data & Documents', 'data-documents', 'Data management and document processing', 'Database', '#10B981', 3, 0, NOW()),
|
||||
('parent-devops', 'DevOps & Security', 'devops-security', 'Infrastructure, deployment, and security tools', 'Cloud', '#F97316', 4, 0, NOW()),
|
||||
('parent-business', 'Business & Productivity', 'business-productivity', 'Business tools and productivity applications', 'Briefcase', '#22C55E', 5, 0, NOW()),
|
||||
('parent-media', 'Media & IoT', 'media-iot', 'Multimedia processing and smart device integrations', 'Music', '#F43F5E', 6, 0, NOW()),
|
||||
('parent-specialized', 'Specialized', 'specialized', 'Specialized tools for niche domains', 'Sparkles', '#6B7280', 7, 0, NOW())
|
||||
ON CONFLICT (id) DO UPDATE SET
|
||||
name = EXCLUDED.name,
|
||||
slug = EXCLUDED.slug,
|
||||
description = EXCLUDED.description,
|
||||
icon = EXCLUDED.icon,
|
||||
color = EXCLUDED.color,
|
||||
sort_order = EXCLUDED.sort_order;
|
||||
|
||||
-- Link child categories to parents
|
||||
-- Development group (4 categories)
|
||||
UPDATE categories SET parent_id = 'parent-dev' WHERE id IN ('cat-backend', 'cat-frontend', 'cat-mobile', 'cat-languages');
|
||||
|
||||
-- AI & Automation group (3 categories)
|
||||
UPDATE categories SET parent_id = 'parent-ai' WHERE id IN ('cat-ai-llm', 'cat-agents', 'cat-prompts');
|
||||
|
||||
-- Data & Documents group (2 categories)
|
||||
UPDATE categories SET parent_id = 'parent-data' WHERE id IN ('cat-data', 'cat-documents');
|
||||
|
||||
-- DevOps & Security group (4 categories)
|
||||
UPDATE categories SET parent_id = 'parent-devops' WHERE id IN ('cat-devops', 'cat-git', 'cat-testing', 'cat-security');
|
||||
|
||||
-- Business & Productivity group (4 categories)
|
||||
UPDATE categories SET parent_id = 'parent-business' WHERE id IN ('cat-productivity', 'cat-business', 'cat-social', 'cat-content');
|
||||
|
||||
-- Media & IoT group (2 categories)
|
||||
UPDATE categories SET parent_id = 'parent-media' WHERE id IN ('cat-multimedia', 'cat-iot');
|
||||
|
||||
-- Specialized group (4 categories)
|
||||
UPDATE categories SET parent_id = 'parent-specialized' WHERE id IN ('cat-science', 'cat-blockchain', 'cat-mcp', 'cat-other');
|
||||
|
||||
-- Update sort_order for child categories within their groups
|
||||
-- Development children (sort: 10-19)
|
||||
UPDATE categories SET sort_order = 10 WHERE id = 'cat-backend';
|
||||
UPDATE categories SET sort_order = 11 WHERE id = 'cat-frontend';
|
||||
UPDATE categories SET sort_order = 12 WHERE id = 'cat-mobile';
|
||||
UPDATE categories SET sort_order = 13 WHERE id = 'cat-languages';
|
||||
|
||||
-- AI children (sort: 20-29)
|
||||
UPDATE categories SET sort_order = 20 WHERE id = 'cat-ai-llm';
|
||||
UPDATE categories SET sort_order = 21 WHERE id = 'cat-agents';
|
||||
UPDATE categories SET sort_order = 22 WHERE id = 'cat-prompts';
|
||||
|
||||
-- Data children (sort: 30-39)
|
||||
UPDATE categories SET sort_order = 30 WHERE id = 'cat-data';
|
||||
UPDATE categories SET sort_order = 31 WHERE id = 'cat-documents';
|
||||
|
||||
-- DevOps children (sort: 40-49)
|
||||
UPDATE categories SET sort_order = 40 WHERE id = 'cat-devops';
|
||||
UPDATE categories SET sort_order = 41 WHERE id = 'cat-git';
|
||||
UPDATE categories SET sort_order = 42 WHERE id = 'cat-testing';
|
||||
UPDATE categories SET sort_order = 43 WHERE id = 'cat-security';
|
||||
|
||||
-- Business children (sort: 50-59)
|
||||
UPDATE categories SET sort_order = 50 WHERE id = 'cat-productivity';
|
||||
UPDATE categories SET sort_order = 51 WHERE id = 'cat-business';
|
||||
UPDATE categories SET sort_order = 52 WHERE id = 'cat-social';
|
||||
UPDATE categories SET sort_order = 53 WHERE id = 'cat-content';
|
||||
|
||||
-- Media children (sort: 60-69)
|
||||
UPDATE categories SET sort_order = 60 WHERE id = 'cat-multimedia';
|
||||
UPDATE categories SET sort_order = 61 WHERE id = 'cat-iot';
|
||||
|
||||
-- Specialized children (sort: 70-79)
|
||||
UPDATE categories SET sort_order = 70 WHERE id = 'cat-science';
|
||||
UPDATE categories SET sort_order = 71 WHERE id = 'cat-blockchain';
|
||||
UPDATE categories SET sort_order = 72 WHERE id = 'cat-mcp';
|
||||
UPDATE categories SET sort_order = 73 WHERE id = 'cat-other';
|
||||
|
||||
-- Verify the hierarchy
|
||||
SELECT
|
||||
COALESCE(p.name, '(No Parent)') as parent,
|
||||
c.id,
|
||||
c.name,
|
||||
c.skill_count,
|
||||
c.sort_order
|
||||
FROM categories c
|
||||
LEFT JOIN categories p ON c.parent_id = p.id
|
||||
WHERE c.id NOT LIKE 'parent-%'
|
||||
ORDER BY COALESCE(p.sort_order, 999), c.sort_order;
|
||||
Reference in New Issue
Block a user