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:
airano
2026-02-12 06:08:51 +03:30
commit 97b427831a
227 changed files with 48411 additions and 0 deletions

View 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;