Skip to content

Commit 019248b

Browse files
savvidesclaude
andcommitted
Add tier-1 repo infrastructure: CI, community files, governance, badges
- .github/ISSUE_TEMPLATE/: bug reports, feature requests, research submissions - .github/PULL_REQUEST_TEMPLATE.md: contribution checklist - .github/workflows/validate.yml: CI for skill frontmatter, routing, data footers - .github/FUNDING.yml: link to ASU ScaleU - CODE_OF_CONDUCT.md: Contributor Covenant adapted for edtech - SECURITY.md: data accuracy and vulnerability reporting - CODEOWNERS: route skills/ and data/ PRs to maintainer - .editorconfig: consistent formatting across editors - README.md: shields.io badges (version, license, skills, papers) - setup: --help flag with usage info - VERSION: 1.2.0 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent b630a1f commit 019248b

14 files changed

Lines changed: 305 additions & 1 deletion

.editorconfig

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
insert_final_newline = true
7+
trim_trailing_whitespace = true
8+
9+
[*.md]
10+
indent_style = space
11+
indent_size = 2
12+
trim_trailing_whitespace = false
13+
14+
[*.yml]
15+
indent_style = space
16+
indent_size = 2

.github/FUNDING.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
custom:
2+
- https://scaleu.asu.edu
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
name: Bug report
3+
about: Report outdated data, broken guidance, or incorrect information
4+
title: ''
5+
labels: bug
6+
assignees: ''
7+
---
8+
9+
**What's wrong?**
10+
Describe what's incorrect, outdated, or broken.
11+
12+
**Which file(s)?**
13+
List the file path(s) affected (e.g., `data/k12-regulatory.md`, `skills/pilot-design/SKILL.md`).
14+
15+
**What should it say instead?**
16+
If you know the correct information, include it here with a source.
17+
18+
**Source/evidence**
19+
Link to a regulation, study, or official source that supports the correction.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
name: Feature request
3+
about: Suggest a new skill, data topic, or market coverage
4+
title: ''
5+
labels: enhancement
6+
assignees: ''
7+
---
8+
9+
**What's missing?**
10+
Describe the skill, data file, or coverage gap.
11+
12+
**Who needs it?**
13+
What type of edtech founder would use this? (e.g., K-12 founders in the UK, corporate L&D startups targeting healthcare)
14+
15+
**What would it do?**
16+
Describe the ideal output. What questions would it ask? What guidance would it provide?
17+
18+
**Do you want to build it?**
19+
If you're interested in contributing this, let us know. We can help with the skill structure.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
name: Research submission
3+
about: Submit a peer-reviewed paper to add to the research corpus
4+
title: 'Research: '
5+
labels: research
6+
assignees: ''
7+
---
8+
9+
**Paper details**
10+
- Title:
11+
- Authors:
12+
- Year:
13+
- Journal:
14+
- DOI:
15+
- Study type: (meta-analysis / RCT / systematic review / quasi-experimental / other)
16+
17+
**Takeaway**
18+
One sentence summarizing the key finding relevant to edtech founders.
19+
20+
**Which topic file?**
21+
Which file in `data/research/` should this be added to? (Or suggest a new topic if none fits.)
22+
23+
**Why it matters for edtech founders**
24+
Brief explanation of how this research is relevant to product design, evidence building, or market positioning.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
## What this PR does
2+
3+
<!-- Describe the change in 1-3 sentences -->
4+
5+
## Type of change
6+
7+
- [ ] New skill
8+
- [ ] Skill update
9+
- [ ] Data file update (regulatory, market, competitive)
10+
- [ ] Research paper addition
11+
- [ ] Documentation
12+
- [ ] Other
13+
14+
## Checklist
15+
16+
- [ ] SKILL.md files have YAML frontmatter with `name` and `description`
17+
- [ ] Data files have "Last updated" footer with date
18+
- [ ] Research papers include Title, Takeaway, Type, Year, Citations, DOI
19+
- [ ] CLAUDE.md routing rules updated (if adding a new skill)
20+
- [ ] CHANGELOG.md updated with what changed
21+
- [ ] No broken cross-references between files

.github/workflows/validate.yml

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
name: Validate
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
validate:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
15+
- name: Validate SKILL.md frontmatter
16+
run: |
17+
echo "Checking SKILL.md files have required frontmatter..."
18+
errors=0
19+
for skill in skills/*/SKILL.md; do
20+
if ! head -5 "$skill" | grep -q "^name:"; then
21+
echo "ERROR: $skill missing 'name' in frontmatter"
22+
errors=$((errors + 1))
23+
fi
24+
if ! head -5 "$skill" | grep -q "^description:"; then
25+
echo "ERROR: $skill missing 'description' in frontmatter"
26+
errors=$((errors + 1))
27+
fi
28+
done
29+
if [ $errors -gt 0 ]; then
30+
echo "$errors frontmatter errors found"
31+
exit 1
32+
fi
33+
echo "All SKILL.md files have valid frontmatter"
34+
35+
- name: Validate CLAUDE.md routing
36+
run: |
37+
echo "Checking all routed skills exist..."
38+
errors=0
39+
grep "^- /" CLAUDE.md | sed 's|.* → ||' | while read -r path; do
40+
if [ ! -d "$path" ]; then
41+
echo "ERROR: CLAUDE.md routes to '$path' but directory does not exist"
42+
errors=$((errors + 1))
43+
fi
44+
done
45+
if [ $errors -gt 0 ]; then
46+
exit 1
47+
fi
48+
echo "All CLAUDE.md routes point to existing skill directories"
49+
50+
- name: Validate data files have update footer
51+
run: |
52+
echo "Checking data files for 'Last updated' footer..."
53+
warnings=0
54+
for datafile in data/*.md; do
55+
[ "$(basename "$datafile")" = "README.md" ] && continue
56+
if ! grep -q "Last updated" "$datafile"; then
57+
echo "WARNING: $datafile missing 'Last updated' footer"
58+
warnings=$((warnings + 1))
59+
fi
60+
done
61+
if [ $warnings -gt 0 ]; then
62+
echo "$warnings data files missing update footer"
63+
fi
64+
echo "Data file footer check complete"
65+
66+
- name: Validate research files have table format
67+
run: |
68+
echo "Checking research files for table headers..."
69+
errors=0
70+
for resfile in data/research/*.md; do
71+
[ "$(basename "$resfile")" = "README.md" ] && continue
72+
if ! grep -q "| # |" "$resfile"; then
73+
echo "ERROR: $resfile missing expected table format"
74+
errors=$((errors + 1))
75+
fi
76+
done
77+
if [ $errors -gt 0 ]; then
78+
echo "$errors research files have invalid format"
79+
exit 1
80+
fi
81+
echo "All research files have valid table format"
82+
83+
- name: Count and report
84+
run: |
85+
skills=$(ls -d skills/*/SKILL.md 2>/dev/null | wc -l | tr -d ' ')
86+
datafiles=$(ls data/*.md 2>/dev/null | grep -v README | wc -l | tr -d ' ')
87+
research=$(ls data/research/*.md 2>/dev/null | grep -v README | wc -l | tr -d ' ')
88+
version=$(cat VERSION 2>/dev/null || echo "unknown")
89+
echo "EdTech Founder Stack v$version"
90+
echo " $skills skills"
91+
echo " $datafiles data files"
92+
echo " $research research topics"

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,18 @@
11
# Changelog
22

3+
## 1.2.0 (2026-03-31)
4+
5+
### Tier-1 repo infrastructure
6+
7+
- GitHub issue templates for bug reports, feature requests, and research submissions
8+
- Pull request template with contribution checklist
9+
- CI workflow validating skill frontmatter, routing, data footers, and research format
10+
- CODE_OF_CONDUCT.md and SECURITY.md for community governance
11+
- CODEOWNERS routing PRs to ScaleU team
12+
- README badges (version, license, skills, papers)
13+
- Setup script --help flag
14+
- .editorconfig for consistent formatting
15+
316
## 1.1.0 (2026-03-31)
417

518
### Smart skill navigation

CODEOWNERS

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# EdTech Founder Stack — Code Owners
2+
# PRs to these paths require review from the ScaleU team
3+
4+
# Skills
5+
skills/ @savvides
6+
7+
# Reference data
8+
data/ @savvides
9+
10+
# Project governance
11+
CLAUDE.md @savvides
12+
ETHOS.md @savvides
13+
ARCHITECTURE.md @savvides
14+
README.md @savvides

CODE_OF_CONDUCT.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Code of Conduct
2+
3+
## Our pledge
4+
5+
We are committed to making participation in EdTech Founder Stack a welcoming experience for everyone, regardless of background, identity, or experience level.
6+
7+
This project exists to help edtech founders build better products. Contributions that advance that mission, whether correcting a regulatory detail, adding research, or proposing new skills, are welcome from anyone.
8+
9+
## Standards
10+
11+
**Expected behavior:**
12+
- Be direct and constructive in feedback
13+
- Back claims with evidence (regulations, research, market data)
14+
- Respect that edtech markets vary by country, institution type, and regulatory environment
15+
- Credit sources when contributing data or research
16+
17+
**Unacceptable behavior:**
18+
- Harassment, discrimination, or personal attacks
19+
- Submitting intentionally misleading data or research
20+
- Spam, self-promotion disguised as contributions, or vendor pitches in issues
21+
- Publishing others' private information
22+
23+
## Enforcement
24+
25+
Instances of unacceptable behavior may be reported to philippos.savvides@asuep.org. All complaints will be reviewed and investigated. The project team is obligated to maintain confidentiality regarding the reporter.
26+
27+
Project maintainers have the right to remove, edit, or reject contributions that violate this code of conduct.
28+
29+
## Attribution
30+
31+
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org/), version 2.1.

0 commit comments

Comments
 (0)