Skip to content

Commit e1c4f2e

Browse files
Claude/language comparison table oog22 (#6)
Co-authored-by: Claude <noreply@anthropic.com>
1 parent 0cfc549 commit e1c4f2e

3 files changed

Lines changed: 190 additions & 0 deletions

File tree

CLAUDE-INSTRUCTIONS.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# Instructions for Claude Sessions
2+
3+
## STOP - Read Before Working
4+
5+
This repository is the **hub** for 8 programming languages in the MAAF ecosystem. Before making any changes to satellite repos, you MUST understand the current state.
6+
7+
## Critical Rules
8+
9+
### 1. GitHub is Source of Truth
10+
All work should be on GitHub. GitLab/Codeberg/Bitbucket are mirrors.
11+
12+
### 2. Check Migration Status First
13+
Before working on any language repo, check `MIGRATION-STATUS.md`:
14+
- If status is "NOT SYNCED" → sync from GitLab first
15+
- If status is "DIVERGED" → consult user before making changes
16+
- If status is "SYNCED" → safe to work on GitHub version
17+
18+
### 3. Never Create Parallel Implementations
19+
**WRONG:** "I'll implement this feature from scratch on GitHub"
20+
**RIGHT:** "Let me check if this exists on GitLab first, then build on that"
21+
22+
### 4. Preserve Original Work
23+
The GitLab repos contain months of human effort from Aug-Oct 2025. This includes:
24+
- Design documents
25+
- White papers
26+
- Original implementations
27+
- Research notes
28+
29+
Do not overwrite this with new implementations.
30+
31+
## The Language Ecosystem
32+
33+
```
34+
nextgen-languages (this repo - hub)
35+
├── My-Language Family (progressive complexity, ages 8-18)
36+
│ ├── me (base)
37+
│ ├── solo (age 8-10)
38+
│ ├── duet (age 11-14)
39+
│ └── ensemble (age 15-18, dialect of my-lang)
40+
├── Foundational
41+
│ ├── betlang (Racket, probabilistic programming)
42+
│ └── julia-the-viper (Rust, Harvard Architecture)
43+
└── Specialized
44+
├── phronesis (practical wisdom, Elixir)
45+
├── eclexia (creative synthesis, Rust)
46+
├── oblibeny (favorite things modeling)
47+
├── anvomidav (real-time systems)
48+
└── wokelang (social awareness)
49+
```
50+
51+
## Related Repos (not languages)
52+
- `7-tentacles` - orchestration
53+
- `me-dialect-playground` - experimentation
54+
- `my-newsroom` - content pipeline
55+
- `my-ssg` - static site generator
56+
57+
## Before Starting Work
58+
59+
1. Read `MIGRATION-STRATEGY.md` for the overall plan
60+
2. Check `MIGRATION-STATUS.md` for current state
61+
3. If repo is not synced, sync it first
62+
4. Update status file after completing work
63+
5. Commit to the correct branch
64+
65+
## Questions?
66+
If unclear about anything, ask the user rather than guessing.

MIGRATION-STATUS.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Migration Status Tracker
2+
3+
Last updated: 2025-12-16
4+
5+
## Phase 1: Language Repos
6+
7+
| Repo | Status | Notes |
8+
|------|--------|-------|
9+
| eclexia | NOT SYNCED | Priority 1 - has 70-page white paper on GitLab |
10+
| phronesis | DIVERGED | GitLab: original, GitHub: Claude Elixir impl |
11+
| wokelang | DIVERGED | GitLab: original, GitHub: Claude Rust impl |
12+
| oblibeny | DIVERGED | Needs manual merge |
13+
| anvomidav | NAMING ISSUE | GitLab calls it "betlang" incorrectly |
14+
| betlang | TO VERIFY | Check if synced |
15+
| julia-the-viper | TO VERIFY | Check if synced |
16+
| solo | TO VERIFY | Part of my-lang family |
17+
| duet | TO VERIFY | Part of my-lang family |
18+
| ensemble | TO VERIFY | Part of my-lang family |
19+
20+
## Completed Syncs
21+
22+
| Repo | Date | By | Notes |
23+
|------|------|----|-------|
24+
| (none yet) | | | |
25+
26+
## Repos Needing Manual Review
27+
28+
| Repo | Reason | Decision |
29+
|------|--------|----------|
30+
| phronesis | Both have implementations | TBD |
31+
| wokelang | Both have implementations | TBD |
32+
| oblibeny | Significant divergence | TBD |
33+
34+
---
35+
36+
## Update Instructions
37+
38+
When you complete a sync:
39+
1. Move repo from "Phase 1" to "Completed Syncs"
40+
2. Add date and notes
41+
3. Commit this file with message: `docs: update migration status - synced {repo}`

MIGRATION-STRATEGY.md

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# GitLab → GitHub Migration Strategy
2+
3+
## Goal
4+
**GitHub is the single source of truth.** All development happens on GitHub, then mirrors out to:
5+
- GitLab (gitlab.com/maa-framework)
6+
- Codeberg
7+
- Bitbucket
8+
9+
## Current Problem
10+
- Original work (Aug-Oct 2025) lives on GitLab
11+
- GitHub repos created Dec 2025, some with parallel Claude implementations
12+
- Result: diverged repos, missing content, confusion
13+
14+
## The Fix (4 Phases)
15+
16+
### Phase 1: Language Repos (This Week)
17+
Priority repos - the 8 languages in this ecosystem:
18+
19+
| Repo | GitLab Status | GitHub Status | Action |
20+
|------|---------------|---------------|--------|
21+
| eclexia | 13 commits, 70-page white paper, Rust compiler | 1 commit (template) | **SYNC FROM GITLAB** |
22+
| phronesis | 11+ commits, original design | Claude Elixir impl | Evaluate both, merge best |
23+
| wokelang | 20+ commits, original design | Claude Rust impl | Evaluate both, merge best |
24+
| oblibeny | 40+ commits | 30 commits, diverged | Manual merge |
25+
| anvomidav | Mislabeled as "betlang" | Correct name | Sync + rename on GitLab |
26+
| betlang | Correct | Correct | Verify sync |
27+
| julia-the-viper | Original | Check status | Sync if needed |
28+
| my-lang (solo/duet/ensemble) | Original | Check status | Sync if needed |
29+
30+
### Phase 2: Full Audit
31+
Run reconciliation script to categorize all 400+ repos:
32+
```bash
33+
export GITLAB_TOKEN="glpat-..."
34+
export GITHUB_TOKEN="ghp_..."
35+
python scripts/repo-reconcile.py > audit-results.json
36+
```
37+
38+
Categories:
39+
- **gitlab-only**: Create on GitHub, sync content
40+
- **github-only**: Keep (new work) or archive (abandoned)
41+
- **synced**: Set up mirror
42+
- **diverged**: Manual review needed
43+
44+
### Phase 3: Consolidate
45+
For each diverged repo:
46+
1. Compare commits on both sides
47+
2. If GitLab has original work + GitHub has useful additions → merge
48+
3. If GitHub work is just parallel implementation → replace with GitLab
49+
4. If GitHub work is better → keep GitHub, archive GitLab
50+
51+
### Phase 4: Mirror Setup
52+
Once GitHub is authoritative:
53+
```
54+
GitHub (source)
55+
├── → GitLab (push mirror)
56+
├── → Codeberg (push mirror)
57+
└── → Bitbucket (push mirror)
58+
```
59+
60+
GitHub Settings → Branches → Add mirror for each target.
61+
62+
---
63+
64+
## Instructions for Claude Sessions
65+
66+
**READ THIS BEFORE WORKING ON ANY REPO IN THIS ECOSYSTEM**
67+
68+
1. **GitHub is source of truth** - always pull from GitHub first
69+
2. **Check this document** for repo status before making changes
70+
3. **Never create parallel implementations** - if GitLab has content, sync it first
71+
4. **Update MIGRATION-STATUS.md** after completing any sync operation
72+
5. **Preserve original work** - GitLab content represents months of human effort
73+
74+
## Immediate Priority
75+
**Sync eclexia first** - it has a 70-page white paper and Rust compiler that only exists on GitLab.
76+
77+
```bash
78+
# Preserve GitLab work to GitHub
79+
git clone git@gitlab.com:maa-framework/4a-languages/eclexia.git
80+
cd eclexia
81+
git remote add github git@github.com:hyperpolymath/eclexia.git
82+
git push github main --force
83+
```

0 commit comments

Comments
 (0)