Skip to content

Commit 746f98b

Browse files
committed
Initial commit: Awesome CDK TypeScript repository
- Comprehensive curated list of CDK TypeScript resources - Construct libraries, patterns, tools, and examples - Contributing guidelines and GitHub workflows - Type-safe configuration examples - Serverless API pattern documentation
0 parents  commit 746f98b

File tree

11 files changed

+1883
-0
lines changed

11 files changed

+1883
-0
lines changed
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
name: Add Resource
2+
description: Suggest a new CDK TypeScript resource
3+
title: "[ADD] "
4+
labels: ["addition", "pending-review"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for suggesting a new resource! Please provide the following information.
10+
11+
- type: dropdown
12+
id: category
13+
attributes:
14+
label: Category
15+
description: Which category does this resource belong to?
16+
options:
17+
- Construct Library
18+
- Learning Resource
19+
- Tool/Utility
20+
- Pattern/Example
21+
- Real-World Project
22+
- Other
23+
validations:
24+
required: true
25+
26+
- type: input
27+
id: name
28+
attributes:
29+
label: Resource Name
30+
description: Name of the resource
31+
placeholder: "e.g., cdk-monitoring-constructs"
32+
validations:
33+
required: true
34+
35+
- type: input
36+
id: url
37+
attributes:
38+
label: URL
39+
description: Link to the resource
40+
placeholder: "https://github.com/..."
41+
validations:
42+
required: true
43+
44+
- type: textarea
45+
id: description
46+
attributes:
47+
label: Description
48+
description: Brief description of the resource (max 100 characters)
49+
placeholder: "High-level monitoring constructs for AWS services"
50+
validations:
51+
required: true
52+
53+
- type: input
54+
id: npm
55+
attributes:
56+
label: NPM Package Name
57+
description: NPM package name (if applicable)
58+
placeholder: "cdk-monitoring-constructs"
59+
60+
- type: checkboxes
61+
id: criteria
62+
attributes:
63+
label: Criteria Checklist
64+
description: Please confirm the resource meets these criteria
65+
options:
66+
- label: TypeScript support or TypeScript-first
67+
required: true
68+
- label: Active maintenance (commits within 6 months)
69+
required: true
70+
- label: Clear documentation
71+
required: true
72+
- label: Adds unique value to the ecosystem
73+
required: true
74+
- label: Working/functional state
75+
required: true
76+
77+
- type: textarea
78+
id: value
79+
attributes:
80+
label: Why should this be included?
81+
description: Explain the value this resource adds to the CDK TypeScript ecosystem
82+
validations:
83+
required: true
84+
85+
- type: checkboxes
86+
id: checklist
87+
attributes:
88+
label: Submission Checklist
89+
description: Please confirm you've completed these steps
90+
options:
91+
- label: I've checked this isn't a duplicate
92+
required: true
93+
- label: I've tested the link works
94+
required: true
95+
- label: I've read the contributing guidelines
96+
required: true
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: Report Issue
2+
description: Report a broken link, outdated information, or other issue
3+
title: "[ISSUE] "
4+
labels: ["bug", "needs-triage"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for helping us maintain the quality of this list!
10+
11+
- type: dropdown
12+
id: issue-type
13+
attributes:
14+
label: Issue Type
15+
description: What type of issue are you reporting?
16+
options:
17+
- Broken link
18+
- Outdated information
19+
- Duplicate entry
20+
- Unmaintained project
21+
- Incorrect categorization
22+
- Other
23+
validations:
24+
required: true
25+
26+
- type: input
27+
id: resource
28+
attributes:
29+
label: Resource Name
30+
description: Which resource has the issue?
31+
placeholder: "e.g., cdk-monitoring-constructs"
32+
validations:
33+
required: true
34+
35+
- type: textarea
36+
id: description
37+
attributes:
38+
label: Issue Description
39+
description: Describe the issue in detail
40+
placeholder: "The link returns 404..."
41+
validations:
42+
required: true
43+
44+
- type: textarea
45+
id: suggestion
46+
attributes:
47+
label: Suggested Fix
48+
description: How should this be fixed? (optional)
49+
placeholder: "Update the URL to..."
50+
51+
- type: checkboxes
52+
id: checklist
53+
attributes:
54+
label: Checklist
55+
options:
56+
- label: I've verified this issue exists
57+
required: true
58+
- label: I've checked for duplicate issues
59+
required: true
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: Update Badges
2+
3+
on:
4+
schedule:
5+
# Run daily at 2 AM UTC
6+
- cron: '0 2 * * *'
7+
workflow_dispatch:
8+
9+
jobs:
10+
update-badges:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- uses: actions/checkout@v3
15+
with:
16+
token: ${{ secrets.GITHUB_TOKEN }}
17+
18+
- name: Setup Node.js
19+
uses: actions/setup-node@v3
20+
with:
21+
node-version: '18'
22+
23+
- name: Install dependencies
24+
run: |
25+
npm init -y
26+
npm install axios cheerio
27+
28+
- name: Update NPM badges
29+
run: |
30+
node .github/scripts/update-badges.js
31+
32+
- name: Check for changes
33+
id: git-check
34+
run: |
35+
git diff --exit-code || echo "changed=true" >> $GITHUB_OUTPUT
36+
37+
- name: Commit and push if changed
38+
if: steps.git-check.outputs.changed == 'true'
39+
run: |
40+
git config --global user.name 'github-actions[bot]'
41+
git config --global user.email 'github-actions[bot]@users.noreply.github.com'
42+
git add -A
43+
git commit -m "chore: update badges [skip ci]"
44+
git push

.github/workflows/validate.yml

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
name: Validate Links and Format
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
schedule:
9+
# Run every Sunday at midnight UTC
10+
- cron: '0 0 * * 0'
11+
12+
jobs:
13+
validate-links:
14+
runs-on: ubuntu-latest
15+
16+
steps:
17+
- uses: actions/checkout@v3
18+
19+
- name: Setup Node.js
20+
uses: actions/setup-node@v3
21+
with:
22+
node-version: '18'
23+
24+
- name: Install dependencies
25+
run: |
26+
npm install -g markdown-link-check
27+
npm install -g markdownlint-cli
28+
29+
- name: Check markdown formatting
30+
run: markdownlint README.md CONTRIBUTING.md
31+
continue-on-error: true
32+
33+
- name: Check for broken links
34+
run: |
35+
markdown-link-check README.md -c .github/markdown-link-check-config.json
36+
continue-on-error: true
37+
38+
- name: Report results
39+
if: failure()
40+
uses: actions/github-script@v6
41+
with:
42+
script: |
43+
github.rest.issues.createComment({
44+
issue_number: context.issue.number,
45+
owner: context.repo.owner,
46+
repo: context.repo.repo,
47+
body: '⚠️ Some links appear to be broken. Please check the validation results.'
48+
})
49+
50+
check-formatting:
51+
runs-on: ubuntu-latest
52+
53+
steps:
54+
- uses: actions/checkout@v3
55+
56+
- name: Check alphabetical order
57+
run: |
58+
# Simple script to check if entries are alphabetically sorted
59+
python3 .github/scripts/check-alphabetical.py
60+
continue-on-error: true
61+
62+
- name: Validate badges
63+
run: |
64+
# Check if NPM packages have proper badges
65+
python3 .github/scripts/validate-badges.py
66+
continue-on-error: true
67+
68+
awesome-lint:
69+
runs-on: ubuntu-latest
70+
71+
steps:
72+
- uses: actions/checkout@v3
73+
74+
- name: Run awesome-lint
75+
run: npx awesome-lint README.md
76+
continue-on-error: true

.gitignore

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Dependencies
2+
node_modules/
3+
4+
# Build outputs
5+
dist/
6+
build/
7+
*.js
8+
*.d.ts
9+
*.js.map
10+
11+
# CDK outputs
12+
cdk.out/
13+
cdk.context.json
14+
15+
# IDE
16+
.vscode/
17+
.idea/
18+
*.swp
19+
*.swo
20+
.DS_Store
21+
22+
# Environment
23+
.env
24+
.env.local
25+
26+
# Logs
27+
*.log
28+
npm-debug.log*
29+
yarn-debug.log*
30+
yarn-error.log*
31+
32+
# Testing
33+
coverage/
34+
.nyc_output/
35+
36+
# Temporary files
37+
tmp/
38+
temp/
39+
*.tmp

0 commit comments

Comments
 (0)