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>
45 lines
1.6 KiB
SQL
45 lines
1.6 KiB
SQL
-- Migration: Add skill management features (is_blocked, add_requests table)
|
|
-- Run this on existing databases to add the new columns and tables
|
|
|
|
-- Add is_blocked column to skills table (if not exists)
|
|
DO $$
|
|
BEGIN
|
|
IF NOT EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_name = 'skills' AND column_name = 'is_blocked'
|
|
) THEN
|
|
ALTER TABLE skills ADD COLUMN is_blocked BOOLEAN DEFAULT FALSE;
|
|
CREATE INDEX IF NOT EXISTS idx_skills_blocked ON skills(is_blocked);
|
|
RAISE NOTICE 'Added is_blocked column to skills table';
|
|
ELSE
|
|
RAISE NOTICE 'is_blocked column already exists';
|
|
END IF;
|
|
END $$;
|
|
|
|
-- Create add_requests table (if not exists)
|
|
CREATE TABLE IF NOT EXISTS add_requests (
|
|
id TEXT PRIMARY KEY,
|
|
user_id TEXT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
|
repository_url TEXT NOT NULL,
|
|
skill_path TEXT,
|
|
reason TEXT NOT NULL,
|
|
status TEXT NOT NULL DEFAULT 'pending',
|
|
valid_repo BOOLEAN DEFAULT FALSE,
|
|
has_skill_md BOOLEAN DEFAULT FALSE,
|
|
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
|
processed_at TIMESTAMP WITH TIME ZONE,
|
|
indexed_skill_id TEXT,
|
|
error_message TEXT
|
|
);
|
|
|
|
-- Create indexes for add_requests (if not exists)
|
|
CREATE INDEX IF NOT EXISTS idx_add_requests_user ON add_requests(user_id);
|
|
CREATE INDEX IF NOT EXISTS idx_add_requests_status ON add_requests(status);
|
|
CREATE INDEX IF NOT EXISTS idx_add_requests_repo ON add_requests(repository_url);
|
|
|
|
-- Verify the changes
|
|
DO $$
|
|
BEGIN
|
|
RAISE NOTICE 'Migration completed successfully';
|
|
END $$;
|