Skip to content

feat: add interactive bootstrap installer setup.sh#49

Merged
rafael5 merged 1 commit into
mainfrom
setup-sh-installer
May 12, 2026
Merged

feat: add interactive bootstrap installer setup.sh#49
rafael5 merged 1 commit into
mainfrom
setup-sh-installer

Conversation

@rafael5
Copy link
Copy Markdown
Contributor

@rafael5 rafael5 commented May 12, 2026

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:

  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`.

Test plan

  • Dry-run on a fresh container / VM
  • CI green (no doc/catalog gates touch this; should sail through)

🤖 Generated with Claude Code

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 rafael5 merged commit 0823705 into main May 12, 2026
2 checks passed
@rafael5 rafael5 deleted the setup-sh-installer branch May 12, 2026 14:16
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant