Skip to content

Software Factory

Local software factory running YAML pipelines of coding agents and shell steps, with a typesafe step for typed Jev judgments.

ProjectbetaMIT

Overview

Local Software Factory (sf) turns software requests into finished work through pipelines defined in YAML, inspired by GitHub Actions, that live alongside your code. A pipeline is a set of stages that can mix coding agents (using the agent CLI and subscription you already have, such as Claude Code) and ordinary shell commands; for example, one stage implements a change, another runs tests and a later one reviews. Requests run in parallel, each in its own Git worktree, and move through stages until done or until human review is needed. It is published on PyPI and maintained by StratoNext.

Jev appears as a step type: uses: typesafe runs a typed judgment instead of an agent, with questions defined in the step, so a pipeline can decide whether to proceed using a Jev judgment or a test run. The list summary highlights a secret gate between stages as one such judge.

What the decision model decides

TypeQuestionAnswers
Yes / noDoes this change contain secrets? (secret gate)—
ChoiceShould the pipeline proceed, retry or send this request to human review?(inferred)—

How it works

  1. Define a pipeline in YAML with agent, shell and typesafe steps
  2. A request enters and gets its own worktree
  3. Steps run; a typesafe step asks Jev typed questions to gate the next stage
  4. Finish or route to human review

Strengths

  • Reuses existing agent subscriptions
  • Isolated worktrees per request
  • Typed gates between stages

Caveats

  • Jev step details are in separate docs
  • Requires agent CLIs to be installed and authenticated

Getting started

uv tool install software-factory && sf init, then write a pipeline in ~/.sf/pipelines/.

At a glance

Type
Project
Status
beta
Language
Python
Runtime
CLI
Has code
yes
Has tests
yes
License
MIT

Use cases and integrations

How curated lists describe it

  • Local pipeline that puts a typed judge between stages, including a secret gate, published on PyPI.

    MrJev/awesome-jev

Frequently asked questions

Where does Jev fit?

As a typesafe pipeline step that makes a typed judgment instead of running an agent.

Does it need API usage for agents?

No; agent steps use the CLI and subscription you already have.

How are parallel requests isolated?

Each request gets its own Git worktree.

Related projects

  • Advisor for coding agents: git and Stop hooks flag test tampering, secrets and skipped hooks, with optional Jev review findings.

    Hookbeta
  • Commit-msg hook where one Jev request checks the message against the staged diff and flags filler, contradictions and secrets.

    HookbetaPython
  • Configurable GitHub Action where Jev reviews catalog submissions or classifies PRs under a JSON policy and updates one templated comment.

    ProjectbetaTypeScript
  • Node quality gate that scores each diff, commit message and doc set with three Jev Score lenses and a security Noul.

    CLIbetaTypeScript
  • Semantic lint rules as yes/no questions to Jev, for review issues like logged secrets or unbounded retries that ESLint cannot express.

    ProjectbetaTypeScript
  • GitHub Action that asks Jev yes/no questions about each diff chunk for secrets, vulnerabilities, complexity and prompt injection.

    ProjectbetaPython