speccoder-runtime 0.12.0

Application services of speccoder: the only crate that executes anything.
Documentation
{
  "result": {
    "schema_version": 2,
    "command": "new",
    "status": "git_precondition",
    "exit_code": 14,
    "message": "<root>/sub/app is inside the repository <root>",
    "code": "NEW-NESTED-REPOSITORY",
    "fix": [
      "→ choose a folder outside it, or use <root> itself"
    ],
    "fix_steps": [
      {
        "command": "→ choose a folder outside it, or use <root> itself",
        "how": "words",
        "why": null
      }
    ],
    "docs": "https://hupe1980.github.io/speccoder/docs/codes/#new-nested-repository",
    "payload": "new_project",
    "data": {
      "plan": {
        "target": "<root>/sub/app",
        "name": "app",
        "mode": "new_folder",
        "stack": {
          "id": "none",
          "detected": false,
          "reason": "chosen"
        },
        "stacks": [
          {
            "id": "rust",
            "label": "Rust (cargo)",
            "version": "<machine>",
            "disabled": "<machine>"
          },
          {
            "id": "python",
            "label": "Python (uv)",
            "version": "<machine>",
            "disabled": "<machine>"
          },
          {
            "id": "node",
            "label": "TypeScript (npm + vitest)",
            "version": "<machine>",
            "disabled": "<machine>"
          },
          {
            "id": "go",
            "label": "Go",
            "version": "<machine>",
            "disabled": "<machine>"
          },
          {
            "id": "none",
            "label": "I'll add code myself",
            "version": "<machine>",
            "disabled": "<machine>"
          }
        ],
        "format": "speckit",
        "formats": [
          {
            "id": "speckit",
            "label": "Spec Kit",
            "version": "<machine>",
            "disabled": "<machine>"
          },
          {
            "id": "openspec",
            "label": "OpenSpec",
            "version": "<machine>",
            "disabled": "<machine>"
          }
        ],
        "extensions": [],
        "preset": true,
        "steps": [
          {
            "id": "git_init",
            "argv": [
              "git",
              "init"
            ],
            "cwd": "<root>/sub/app",
            "access": "local",
            "writes": ".git/",
            "limit_s": 120
          },
          {
            "id": "format_init",
            "argv": [
              "specify",
              "init",
              "--here",
              "--force",
              "--non-interactive",
              "--integration",
              "claude",
              "--script",
              "sh",
              "--ignore-agent-tools",
              "--preset",
              "<state>/presets/speccoder-<version>"
            ],
            "cwd": "<root>/sub/app",
            "access": "local",
            "writes": ".specify/, .claude/skills/speckit-*/",
            "limit_s": 120,
            "note": "with the speccoder preset: tasks that plan for evidence"
          },
          {
            "id": "speccoder_init",
            "argv": [
              "speccoder",
              "init",
              "--yes"
            ],
            "cwd": "<root>/sub/app",
            "access": "local",
            "writes": "speccoder.toml (its checks run on the untouched code)",
            "limit_s": 120
          },
          {
            "id": "commit",
            "argv": [
              "git",
              "commit",
              "-m",
              "new project: app"
            ],
            "cwd": "<root>/sub/app",
            "access": "local",
            "writes": "one commit as Dana Example <d@example.com>",
            "limit_s": 120
          }
        ],
        "sandbox": {
          "backend": "<machine>"
        },
        "identity": {
          "name": "Dana Example",
          "email": "d@example.com"
        },
        "refusal": {
          "code": "NEW-NESTED-REPOSITORY",
          "message": "<root>/sub/app is inside the repository <root>",
          "fix": "→ choose a folder outside it, or use <root> itself"
        },
        "observed": {
          "exists": false,
          "entries": [],
          "head": null,
          "porcelain": [],
          "tools": "<machine>"
        },
        "digest": "sha256:<hex>"
      },
      "results": [],
      "init": null,
      "commit": null,
      "undo": {
        "available": false,
        "kind": "none"
      },
      "dry_run": false,
      "first_feature": null
    }
  },
  "head": "init",
  "status": "",
  "review": null
}