feat: add interactive bootstrap installer setup.sh#49
Merged
Conversation
One-shot installer for a fresh m-dev-tools dev environment. Recommended invocation lives in the script's preamble (curl-save-then-bash, with a curl-pipe-to-bash form for the convinced). What it does: 1. Detect OS (Linux distro / macOS) and check for required tools (git, docker, python3.12+, uv, make). Prints install commands for anything missing and exits — never sudo's. 2. Verifies the Docker daemon is reachable. 3. Clones m-cli into the chosen install root (default: ~/m-dev-tools). 4. Delegates the rest (sibling clones, venv install, engine install + start, m doctor verification) to `make bootstrap` inside m-cli. 5. Prints PATH-setup advice and a pointer to the TDD lifecycle walkthrough. Flags: -y/--yes (non-interactive), -d/--dir PATH (install root), -h/--help. Idempotent — re-running skips clones and re-verifies via `m doctor`. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
rafael5
added a commit
that referenced
this pull request
May 12, 2026
* docs: add getting-started guide; profile README leads with setup.sh profile/README.md's Getting started section previously documented a manual pip-based install path. Now that setup.sh is in the org-meta repo (PR #49), make it the preferred install path and split the walkthrough into a dedicated SETUP doc. - profile/README.md: Getting started now leads with the setup.sh one-liner (both review-first and curl-pipe forms) and points at the new doc for the full walkthrough. - docs/guides/m-dev-tools-setup.md (new): SETUP-typed doc covering audience, prerequisites, quick install via setup.sh, manual install via `git clone m-cli && make bootstrap`, what `m doctor` verifies, next steps (TDD walkthrough, project scaffolding, VS Code extensions, MCP server), and troubleshooting. Frontmatter validates clean against docs.schema.json (Phase 1 P1.3 gate). docs/guides/ is a new subdir, the first under the .github repo's docs/ tree to follow the docs-discoverability spec §6 layout convention (SETUP/GUIDE/TUTORIAL/EXPLAINER live in guides/). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(history): rename to m-tools-* convention + simplify banners Three files in docs/history/ were named inconsistently — some with "m-tool" (singular), some with "and" in the filename. Rename to the m-tools-* convention so the rehosted m-tools docs cluster by prefix in directory listings: - gap-analysis-and-remediation-strategy.md → m-tools-gap-analysis-remediation-ydb.md - m-tool-gap-analysis.md → m-tools-gap-analysis.md - m-tooling-tier1.md → m-tools-remediation-tier1.md Also simplifies the long "Archived snapshot. Imported verbatim from …" banner at the top of each file to a single-line "**History**" pointer back to profile/README.md for current state. The full attribution narrative still lives in docs/history/README.md. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(profile): retitle README "m-dev-tools" → "M Developer Tools" Repo-name-style heading reads as code; "M Developer Tools" is the display title the README is actually about. Renders better on the org landing page where this README is the primary public surface. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(history): expand TOC for §8 tier ranking; intro paragraph on tier1 remediation - m-tools-gap-analysis.md: TOC entry for §8 expanded with sub-entries for each tier (Tier 1 — development loop, Tier 2 — quality gates, Tier 3 — maintenance / ecosystem, Tier 4 — specialised), so readers can jump straight to the impact bucket they care about instead of scrolling §8 from the top. - m-tools-remediation-tier1.md: new leading paragraph framing this document as the focused Tier 1 execution plan and linking back to the new `#tier-1--the-development-loop-transformative-impact` anchor in m-tools-gap-analysis. Companion-doc bullet retargeted at the same anchor for a sharper landing than the §8 root. Also repairs the stale-from-rename links inside the file (m-tool-gap- analysis.md → m-tools-gap-analysis.md; gap-analysis-and-remediation- strategy.md → m-tools-gap-analysis-remediation-ydb.md; the end-of- doc marker updated to the new filename). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(profile): tighten Why-this-exists + Getting-started in README - Why this exists now leads with the 2026 cross-engine gap analysis (linked at both the doc level and the §8 four-tier anchor) and frames m-dev-tools as the focused remediation of Tier 1 — the inner development loop. Drops the "YottaDB-first with IRIS portability at the runtime layer" line; replaced with a clean "source-level → engine-neutral, so IRIS / YottaDB / any future ANSI-compliant engine work equally" framing. - Getting started shrunk from 22 lines to 9. Single link to the Getting started guide (which carries the prerequisites / manual install / verification / troubleshooting detail) and a three-line installer snippet (curl + less + bash). Drops the OS / prereq / delegation prose — it lives in the guide. Drops the no-review curl-pipe form; the review-first path is the only one shown. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: link to m-cli TDD walkthrough from profile README; fix path - profile/README.md: new section "Example of Modern M Test-Driven Development and M Standard Library" between Getting started and Licensing. Points at the m-cli TDD lifecycle walkthrough as the end-to-end demonstration of every m subcommand + m-stdlib. - setup.sh + docs/guides/m-dev-tools-setup.md: fix the walkthrough filename in their "Next steps" hints. The actual file under m-cli is m-tdd-lifecycle-walkthrough.md, not m-cli-tdd-lifecycle- walkthrough.md. Earlier session typo. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(guides): rehost m-cli TDD lifecycle walkthrough as in-org guide Copies the 785-line end-to-end transcript from m-cli/docs/m-tdd-lifecycle-walkthrough.md into the meta-repo at docs/guides/m-tdd-stdlib-walkthrough.md so the example sits next to the Getting started guide and renders inline on the org landing page. The original under m-cli remains the source of truth for m-cli releases; this in-org copy is for org-level discoverability. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(profile): retarget TDD walkthrough link at in-org rehosted copy Now that the walkthrough is rehosted at docs/guides/m-tdd-stdlib-walkthrough.md (commit b2a65ae), the README should link there instead of the external m-cli URL — keeps the org landing page self-contained and renders the walkthrough inline. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(guides): replace TDD walkthrough Prerequisites section with link The Prerequisites section duplicated the Getting started guide (75 lines of system-tools + clone + venv + engine-boot + verify steps). Replace with a 5-line pointer at docs/guides/m-dev-tools-setup.md; the walkthrough now opens with "assumes a green m doctor" and goes straight to §0 Scenario. Also trims the doubled `---` separator between the section and §0. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
One-shot installer for a fresh m-dev-tools dev environment. Recommended invocation lives in the script's preamble (curl-save-then-bash, with a curl-pipe-to-bash form for the convinced):
```bash
curl -O https://raw.githubusercontent.com/m-dev-tools/.github/main/setup.sh
less ./setup.sh
bash ./setup.sh
```
What it does:
Flags: `-y`/`--yes` (non-interactive), `-d`/`--dir PATH` (install root), `-h`/`--help`.
Idempotent — re-running skips clones and re-verifies via `m doctor`.
Test plan
🤖 Generated with Claude Code