Skip to main content

Packaged SVC corpus and local development-collaboration CLI.

Project description

Sustainable Vibe Coding

Sustainable Vibe Coding (SVC) is a source-first framework delivered as a versioned local corpus and a small development-collaboration CLI. It helps AI-assisted teams retain costly-to-rediscover truth without copying upstream framework documents into every repository.

Develop SVC

Requirements: Python 3.11+ and PDM.

pdm install
pdm run test
pdm run build-monolith
pdm run svc --help
pdm build

Edit canonical framework content under src/, never build/monolith.md. src/ contains only SVC corpus content and release metadata; Python runtime code is in svc_cli/, and repository-only builders/release tools are in tools/.

Use a Released Corpus

Install the CLI, then query the guidance you need. The wheel contains the read-only corpus and a deterministic catalog, so ordinary lookup writes nothing and contacts no service.

python -m pip install sustainable-vibe-coding==10.0.1

svc lookup --name 'sections/working-protocol\.md'
svc lookup --name 'assets/templates/AGENTS\..*\.template\.md' --all
svc lookup --keyword "task packet mutation gate"

--name is a full-path regular expression over source-relative SVC document paths—not a document ID. Keyword results are short, deterministic candidates; use a returned path with --name to read canonical content. Semantic search is intentionally deferred until a local artifact and quality contract are measured.

Initialize a Consumer Project

Initialization is dry-run by default. It creates no copied SVC documents and never silently overwrites consumer content.

svc init /path/to/project --agent codex --json
svc init /path/to/project --apply <plan-digest>
svc status /path/to/project

The exact-plan apply may create:

svc.json
.gitignore                 (a bounded generated ignore block for svc.local.json)
.agents/skills/svc/SKILL.md
AGENTS.md                  (a bounded generated SVC navigation block)
docs/index.md              (created when absent, with a bounded generated navigation block)

svc.json is the complete, committed project configuration. Schema v2 records the adopted baseline and can optionally declare development capabilities:

{
  "schema_version": 2,
  "svc_version": "10.0.1"
}

svc.local.json is an optional, ignored sparse overlay for only the dev configuration. It cannot change the schema or adopted version, and its merged result must remain valid. init maintains just its marked ignore block; it never writes a local configuration file. Schema-v1 projects are write-blocked until deliberately migrated to schema v2.

Everything unmarked in AGENTS.md and docs/index.md remains Consumer-owned. The Codex skill is a substantial operational guide to svc commands, not a duplicate of the framework corpus. Modified generated blocks, skills, or local-config ignore section block refresh for human review.

Declare and Ensure Development Capabilities

An optional dev section selects a profile and declares named targets. Each target has a scope (worktree, repository, or host), one readiness probe (http, tcp, or exec), and either an executable or manual provisioning action. Use JSON output for editor or automation integration:

svc dev identity --repo /path/to/project --json
svc dev status --repo /path/to/project --json
svc dev status frontend --repo /path/to/project --json
svc dev ensure frontend --repo /path/to/project --json
svc dev setup vscode frontend --repo /path/to/project --plan --json
svc dev setup npm frontend --repo /path/to/project --apply <digest> --json

status only observes; it never starts or takes over a process. ensure handles one declared target, reuses a healthy endpoint, refuses an occupied but unhealthy endpoint, and does not run a manual provisioner. Executable provisioning is coordinated at the declared scope and releases process authority once readiness succeeds. Worktree scope is the default and its probe endpoint must prove the resolved instance; host scope requires a declared host_key.

Dev values may interpolate only ${dev.instance}, ${dev.worktree.id}, ${dev.profile}, and ${dev.target}. Commands are argument arrays, not shell snippets, and their configured working directories must remain inside the workspace.

svc dev setup is a deliberately narrow bridge for consumer-owned files: it can add marked VS Code Tasks or exact root package.json scripts that invoke svc dev ensure <target>. It is plan-first; --apply requires the current exact digest. It never reads launch.json, selects a package manager, creates package metadata, or overwrites a conflicting consumer entry.

Capture Local Agent-Thread Evidence

The telemetry family is explicit local evidence capture, not automatic analytics. It reads a selected local provider snapshot and writes one private archive; it never uploads, contacts a network service, or collects anonymous metrics.

svc telemetry agent-thread list [--codex-home /path/to/.codex] [--limit 1-100] [--json]
svc telemetry agent-thread export --thread-id <uuid> --output /safe/export-dir/evidence.zip --include-sensitive
svc telemetry agent-thread export --source /path/to/rollout.jsonl --output /safe/export-dir/evidence.zip --include-sensitive

list exposes non-sensitive selection metadata only. --limit applies to safe returned descriptors: unsafe source rows are skipped without spending a slot. A degraded successful JSON response carries only "warnings":[{"code":"thread-source-omitted","count":N}], never a local path or rollout-derived field; an empty list with that warning is distinct from a state-database failure. export requires an exact thread ID or an exact source file; it never guesses a latest thread. Its absent .zip destination must be outside --repo, preventing an export or its temporary file from becoming task-packet evidence. --include-sensitive is a deliberate acknowledgement to copy raw conversation, tool arguments/results, and reasoning fields wherever the provider makes them available. The export is limited to provider-obtainable data: opaque, unavailable, or redacted reasoning is not reconstructed or decrypted. Codex is the first provider (codex, via the codex-rollout-v1 adapter), using local rollout data from Codex App or the VS Code extension without requiring the codex CLI; the agent-thread surface leaves a seam for future providers.

Upgrade Deliberately

The executable and project adoption are deliberately separate:

svc self-update --json
svc self-update --apply <plan-digest>

svc status /path/to/project
svc lookup --keyword "migration"
svc adopt 10.0.0 /path/to/project --apply <plan-digest>

self-update changes only a supported non-editable pip installation in the current interpreter. It never changes svc.json. After reviewing any packaged migration guidance and applying Consumer-owned changes under the project's mutation gate, svc adopt records the new baseline in svc.json through another exact plan.

Behavioral SemVer and Releases

SVC uses Behavioral SemVer:

  • MAJOR changes required obligations, defaults, permission/authority boundaries, task-packet semantics, consumer layout, or a stable CLI/catalog contract.
  • MINOR adds an optional backward-compatible capability.
  • PATCH fixes or clarifies the existing protocol without changing those behaviors.

Towncrier fragments and the release planner make the impact reviewable. GitHub Releases are the canonical release record; the Python package is the installation projection. See CONTRIBUTING.md for commit, fragment, and release workflow rules.

Repository Layout

src/                         canonical SVC corpus and release metadata
svc_cli/                     installable Python runtime
tools/                       catalog, monolith, and release tooling
pdm_build.py                 wheel corpus projection hook
tests/                       contract and fixture tests
tasks/                       volatile work packets

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sustainable_vibe_coding-10.0.2.tar.gz (116.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sustainable_vibe_coding-10.0.2-py3-none-any.whl (97.4 kB view details)

Uploaded Python 3

File details

Details for the file sustainable_vibe_coding-10.0.2.tar.gz.

File metadata

  • Download URL: sustainable_vibe_coding-10.0.2.tar.gz
  • Upload date:
  • Size: 116.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for sustainable_vibe_coding-10.0.2.tar.gz
Algorithm Hash digest
SHA256 efdc2f94313f3280b3e06b51c2bd9dbb3b3c700440d32cf8eab5c546c057f810
MD5 b48c37a1c48f7e577f8bd601fb1baf0d
BLAKE2b-256 a5f36b2418f4a6f119874c0754a69d575026a1658a22a43b23fab96d8c8b1bf7

See more details on using hashes here.

Provenance

The following attestation bundles were made for sustainable_vibe_coding-10.0.2.tar.gz:

Publisher: publish.yml on xiaoland/svc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sustainable_vibe_coding-10.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for sustainable_vibe_coding-10.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9e903a90f0dade0c0de8c7aa755862c855b6a601552fb7be60938f567eb6cc9d
MD5 b875a0a85dfc986e5aa69c52be20abe9
BLAKE2b-256 c7a74a5b63dd583fbe24466ecf0e2bc2d7622a575afd0a1c263a909cb17b0e4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for sustainable_vibe_coding-10.0.2-py3-none-any.whl:

Publisher: publish.yml on xiaoland/svc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page