Canonical bootstrap contract

What an agent should do after a user pastes the Sula bootstrap line.

This page is intentionally explicit. It turns the copyable prompt on the homepage into a stable behavioral contract for repository adoption.

Long-form lines to paste into a live agent session.

Chinese

请按 Sula bootstrap 协议接管当前仓库:先读取 https://sula.1stp.monster/ 的说明,inspect 并输出 adoption report,等我批准后再 adopt,完成后汇报变更、风险和使用方式。

English

Please take over this repository using the Sula bootstrap protocol: first read https://sula.1stp.monster/, inspect the repo and produce an adoption report, wait for my approval, then adopt it and report the changes, risks, and how to use it.

The default execution sequence is fixed.

  1. Read this bootstrap page and the machine-readable descriptor at /sula.json.
  2. Inspect the current repository before proposing changes.
  3. Infer the likely Sula profile and propose a manifest.
  4. Produce an adoption report with creates, overwrites, preserves, blockers, and warnings.
  5. Pause for explicit user approval.
  6. Apply the adoption only after approval.
  7. Validate with strict checks.
  8. Report what changed, what risks remain, and how the user should operate Sula afterward.

Already-adopted repositories use a review path.

  1. If .sula/project.toml already exists, treat the repository as an existing Sula consumer.
  2. Say so explicitly in the report instead of narrating the repository as a fresh adoption target.
  3. Prefer manifest review, doctor --strict, and sync --dry-run before proposing any new adoption writes.
  4. Only propose a first-time adopt flow when the repository is clearly not yet under Sula management.

Missing local tooling is not the end of the protocol.

  1. If local scripts/sula.py is missing, read /sula.json and resolve the canonical Sula source from its declared repository URL.
  2. If the canonical source is reachable, continue by mapping the protocol to that source instead of stopping at “CLI missing”.
  3. If the source is not reachable, report that precisely as a blocker after completing repository inspection, rather than failing before analysis.

Adoption report

Sula adoption report for /path/to/repo
Recommended profile: ...
Detected name: ...
Detected slug: ...
Primary branch: ...
Deployment branch: ...

Blocking issues:
- ...

Warnings:
- ...

Planned changes after approval:
- managed create: N
- managed update: N
- scaffold create: N
- scaffold preserve: N

Result report

Post-adoption validation:
Sula doctor passed for ...

How to use Sula after adoption:
- inspect current rules: AGENTS.md
- validate the repository: sula doctor --strict
- preview future upgrades: sula sync --dry-run
- add non-trivial history: sula record new
- regenerate recall summary: sula memory digest

No silent adoption.

A valid agent must stop after the adoption report and wait for a human answer such as 批准接入 or Approve adoption. Without approval, the repository should not be modified.

This protocol already maps to real Sula commands.

python3 scripts/sula.py adopt --project-root /path/to/project
python3 scripts/sula.py adopt --project-root /path/to/project --approve
python3 scripts/sula.py doctor --project-root /path/to/project --strict
python3 scripts/sula.py sync --project-root /path/to/project --dry-run