スキル一覧に戻る
octalide

mach-project-overview

by octalide

mach-project-overviewは、other分野における実用的なスキルです。複雑な課題への対応力を強化し、業務効率と成果の質を改善します。

75🍴 1📅 2026年1月19日
GitHubで見るManusで実行

SKILL.md


name: "mach-project-overview" description: "Overview of the mach compiler repository, build lifecycle, dependency rules, and workspace guidance for contributors."

Purpose

This skill documents the repository layout, common build workflows, dependency rules, and workspace tips for contributors and agents acting on behalf of contributors.


Quick facts

  • Build targets:
    • make cmach — builds the bootstrap compiler into out/bin/cmach.
    • make imach — runs $(CMACH) build . -o out/linux/bin/imach (intermediate stage; incomplete).
    • make mach — pipeline continuation/scaffolding (incomplete).
  • CLI: cmach supports subcommands init, build, run, dep, help.
  • Docs: Mach language reference lives under doc/*.

Dependency rules & workspace guidance

  • Do not manually edit files under dep/*. Use cmach dep subcommands instead.
  • Useful cmach dep commands:
    • cmach dep list
    • cmach dep info <name>
    • cmach dep tidy
    • cmach dep add [--local] <path> <name> [--version <version>]
    • cmach dep del <name>
    • cmach dep pull [<name>]
  • Supported version formats: branch/<name>, commit/<hash>, ^1.2.3, ~1.2.3, 1.2.3 (see cmach dep help for details); note: cmach dep add vendors dependencies immediately.

Workspace note (this repo): Prefer editing the mach-std/ repository directly rather than the vendored copy under dep/mach-std/.

If you need the compiler to use a local copy of the standard library for testing, temporarily switch the dependency to local from the consuming project (e.g., the top-level mach repo or a scratch project), not from inside the mach-std repository itself:

cmach dep add --local /ABS/PATH/TO/mach-std mach-std

Revert before committing:

cmach dep del mach-std
# or re-add the canonical remote/version
cmach dep add <remote-or-path> mach-std --version <version>

Editing the boot compiler (C)

  • Files under boot/* are the bootstrap compiler implementation in C. If you modify them, run clang-format where available to keep formatting consistent.

When to pause / escalate

  • If a change would affect Mach language syntax, semantics, or public stdlib APIs, pause and discuss with maintainers before proceeding.

Example workflows (quick)

  • Build bootstrap compiler and intermediate compiler:
make cmach
make imach
  • Build full pipeline (note scaffolding):
make mach
  • Build a specific target and run it:
out/bin/cmach build . -o out/bin/<file>
out/bin/cmach run . arg1 arg2
# to select a specific target defined in mach.toml:
out/bin/cmach run --target <name> . arg1 arg2

Where to find more

  • Language reference and deeper docs: doc/*
  • Style and contribution notes: repository README and doc files.

スコア

総合スコア

60/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です