WIP: A simple cli for daily tangled use cases and AI integration. This is for my personal use right now, but happy if others get mileage from it! :)
1#!/usr/bin/env bash
2set -euo pipefail
3
4# Base URL for tangled.org core repository
5BASE_URL="https://tangled.org/tangled.org/core/raw/master/lexicons"
6
7# Create lexicons directory
8mkdir -p lexicons/sh/tangled
9
10# Function to download a lexicon file
11download_lexicon() {
12 local path="$1"
13 local dest="lexicons/sh/tangled/$path"
14 local url="$BASE_URL/$path"
15
16 echo "Downloading $path..."
17 mkdir -p "$(dirname "$dest")"
18 curl -fsSL "$url" -o "$dest"
19}
20
21# Download all Tangled lexicons
22echo "Fetching latest lexicons from tangled.org..."
23
24# Issue lexicons
25download_lexicon "issue/issue.json"
26download_lexicon "issue/comment.json"
27download_lexicon "issue/state.json"
28download_lexicon "issue/open.json"
29download_lexicon "issue/closed.json"
30
31# Pull request lexicons
32download_lexicon "pulls/pull.json"
33download_lexicon "pulls/comment.json"
34download_lexicon "pulls/state.json"
35download_lexicon "pulls/open.json"
36download_lexicon "pulls/closed.json"
37download_lexicon "pulls/merged.json"
38
39# Repository lexicons
40download_lexicon "repo/repo.json"
41download_lexicon "repo/create.json"
42download_lexicon "repo/delete.json"
43download_lexicon "repo/archive.json"
44download_lexicon "repo/collaborator.json"
45download_lexicon "repo/blob.json"
46download_lexicon "repo/tree.json"
47download_lexicon "repo/log.json"
48download_lexicon "repo/diff.json"
49download_lexicon "repo/branch.json"
50download_lexicon "repo/branches.json"
51download_lexicon "repo/defaultBranch.json"
52download_lexicon "repo/getDefaultBranch.json"
53download_lexicon "repo/deleteBranch.json"
54download_lexicon "repo/tag.json"
55download_lexicon "repo/tags.json"
56download_lexicon "repo/compare.json"
57download_lexicon "repo/merge.json"
58download_lexicon "repo/mergeCheck.json"
59download_lexicon "repo/forkStatus.json"
60download_lexicon "repo/forkSync.json"
61download_lexicon "repo/artifact.json"
62download_lexicon "repo/hiddenRef.json"
63download_lexicon "repo/languages.json"
64download_lexicon "repo/addSecret.json"
65download_lexicon "repo/listSecrets.json"
66download_lexicon "repo/removeSecret.json"
67
68# Label lexicons
69download_lexicon "label/definition.json"
70download_lexicon "label/op.json"
71
72# Pipeline lexicons
73download_lexicon "pipeline/pipeline.json"
74download_lexicon "pipeline/status.json"
75download_lexicon "pipeline/cancelPipeline.json"
76
77# Top-level lexicons
78download_lexicon "owner.json"
79download_lexicon "publicKey.json"
80
81# Actor lexicons
82download_lexicon "actor/profile.json"
83
84# Feed lexicons
85download_lexicon "feed/reaction.json"
86download_lexicon "feed/star.json"
87
88# Graph lexicons
89download_lexicon "graph/follow.json"
90
91# Git lexicons
92download_lexicon "git/refUpdate.json"
93
94# Knot lexicons
95download_lexicon "knot/knot.json"
96download_lexicon "knot/listKeys.json"
97download_lexicon "knot/member.json"
98download_lexicon "knot/version.json"
99
100# Spindle lexicons
101download_lexicon "spindle/spindle.json"
102download_lexicon "spindle/member.json"
103
104# String lexicons
105download_lexicon "string/string.json"
106
107echo ""
108echo "✓ Lexicons downloaded successfully"
109echo " Run 'npm run codegen' to regenerate TypeScript types"