Build a Real Project with DeepSeek Harness: Full Workflow

A complete dsh project walkthrough — from a one-line requirement to a delivered CLI tool on GitHub, every step shown on the real Web UI.

Last updated: 2026-09-16

Installing DeepSeek Harness is easy — the real question is whether it can carry a real project from a rough idea to something you can hand to someone else. This guide follows one complete run recorded end to end: a local todo CLI grilled, specified, sliced, built, tested, and shipped to GitHub without the author ever opening an editor.

The eight steps below map one-to-one onto the source video's screen. Commands and file names follow exactly what appears on screen (CONTEXT.md, ADR, todo-cli-v1.md...). Every screenshot deep-links back to the video at that moment, so read through once, then follow along.

From requirement to delivery in 8 steps

  1. 1

    Create a workspace and initialize the engineering setup

    Start a new workspace for the project, then let the agent lay the groundwork first: local git tracking, a GitHub remote, and issue-tracker conventions written into AGENTS.md and docs/agents/. Every tool call it makes is recorded in the Trace tab — which is exactly what lets you audit the setup later, and keeps the whole codebase on GitHub from day one.

    DeepSeek Harness Trace tab replaying the setup-skills session timeline where read, write and ask_user_question tool calls initialize AGENTS.md and docs/agents/ for the todo project
    The Trace tab lays out every tool call the setup session made.Watch at 2:46
    GitHub repository page of todo-cli-deepseek-harness with AGENTS.md, CONTEXT.md, docs, tests and workflows committed from the DeepSeek Harness workspace
    From day one, the whole codebase lives in a GitHub repository.Watch at 5:42
  2. 2

    Connect your model in Settings

    Open Settings → Models, paste the API key from the DeepSeek open platform, and hit save — that is all it takes to start. Prefer another provider? The same dialog accepts additional models and custom providers, so the workflow below is not locked to one vendor.

    DeepSeek Harness settings dialog on the Models tab showing the DeepSeek API key field and save button, the only configuration needed before starting a project
    One API key in Settings and the project is ready to run.Watch at 1:02
  3. 3

    State the requirement and let the agent grill you

    Open with the grill-with-docs skill; a one-paragraph requirement is enough. In this run: build a todo CLI, v1 only adds, lists, and completes todos, data lives in a local JSON file — and "grill me until the plan is clear". The agent interrogates the requirement from three angles: domain specifics, technical specifics, and UI specifics. The more honestly you answer, the less rework later.

    $我想从零做一个命令行待办清单 todo-cli,v1 只要:添加待办、列出待办、标记完成。数据先存在本地 JSON 文件。请拷问我直到方案清晰。
    grill-with-docs session starting in DeepSeek Harness with the raw todo-cli requirement prompt and the AGENTS.md and skill-catalog context injections listed below it
    It all starts with "grill me until the plan is clear".Watch at 3:06
  4. 4

    Freeze the answers into CONTEXT.md and ADRs

    The grilling produces two artifacts that you and the agent share. Domain terms (what exactly counts as a "todo", which words are banned) land in CONTEXT.md; stack decisions (Python 3 standard library only, with reasons for rejecting Go and Node.js) land in docs/adr/. A CLI project also ends the UI interrogation entirely once headless mode is confirmed — no extra files.

    CONTEXT.md domain glossary open in DeepSeek Harness as Markdown, defining the Todo term, its Content and Row Number fields, and the synonyms the project must avoid
    You and the agent share one definition of "a todo".Watch at 3:42
    Architecture decision record 0001-python-stdlib-only.md in DeepSeek Harness explaining why the todo CLI uses only the Python 3 standard library and rejected Go and Node.js
    Stack decisions land in ADR files, reasons included.Watch at 4:34
  5. 5

    Turn the settled requirements into a PRD

    Open a fresh session and the agent condenses the whole discussion into docs/prd/todo-cli-v1.md — problem statement, solution outline, and acceptance criteria, each traceable back to the CONTEXT.md terms and ADR decisions it came from.

    PRD document docs/prd/todo-cli-v1.md previewed in DeepSeek Harness with a problem statement and solution outline derived from the CONTEXT.md terms and ADR decisions
    What the grilling settled becomes a reviewable PRD.Watch at 5:16
  6. 6

    Slice the PRD into GitHub issues

    The next session splits the PRD into six independent task slices and pushes them to GitHub as issues — each labeled ready-for-agent with its own acceptance criteria and dependencies, while slice 6, which needs a human product call, is tagged ready-for-human instead.

    GitHub issues list of todo-cli-deepseek-harness showing six closed v1 task slices labeled ready-for-agent that DeepSeek Harness sliced from the PRD
    Six task slices, each with acceptance criteria and dependencies.Watch at 5:52
  7. 7

    Build slice by slice with TDD

    Each slice gets its own session that pulls the latest main, cuts a feature branch, then works test-first: write the RED test, watch it fail for the right reason, implement the minimum GREEN, refactor, repeat. When the loop converges, the agent reports the delivered files and the manual verification it ran before opening a PR.

    $从最新 main 拉取分支,准备实现 todo-cli 的 GitHub issue #3
    DeepSeek Harness tdd Issue #3 session running a tracer-bullet TDD loop that writes the RED test for todo add, confirms the expected failure, then implements the GREEN minimum
    RED, expected failure, minimal GREEN — per slice, on repeat.Watch at 7:26
  8. 8

    Merge, document, and verify the delivery

    Merged PRs auto-close their issues once every acceptance criterion passes. A final delivery session writes the README — install, quick start, command reference — and packages a global todo command via pip. The last mile is yours: install it and run add, list, and done against the real binary.

    DeepSeek Harness session report confirming PR #10 merged into main, the feature branch preserved, and issue #5 auto-closed with all four acceptance criteria passing
    Merge the PR and the issue closes itself — criteria all green.Watch at 9:18
    README.md for the todo command line tool previewed in DeepSeek Harness with the feature list, environment requirements and install steps written by the delivery session
    The agent drafts the README your receiver will actually follow.Watch at 9:02
    Terminal window verifying the delivered todo CLI with todo add, todo list and todo done commands next to the README modal in DeepSeek Harness
    Final acceptance: run the real commands against the real binary.Watch at 9:36

Frequently asked questions

Quick answers about running a real project through DeepSeek Harness.

Do I need to know how to code to follow this workflow?

No — the source video's author never opens an editor. What you do need is enough understanding of what the agent proposes to answer its questions and review its PRs. The grilling, the ADRs, and the acceptance criteria exist precisely so you can steer with understanding instead of syntax.

What exactly is CONTEXT.md and why does it matter?

It is the domain glossary the interrogation produces: a shared definition of every key term in the project (what a "todo" is, which words to avoid). You and the agent read the same file, which kills the classic failure mode where "todo" means something different in your head and in the generated code.

Can I skip the requirement grilling?

You can, but you should not. Skipping it means the agent fills every gap with assumptions, and those assumptions resurface as rework during development. The three-way interrogation — domain, technical, UI — is the cheapest place in the whole flow to be wrong.

What if the agent goes off track midway?

Three safety nets: the Trace tab records every tool call, so you can pinpoint where things diverged; each slice works on its own git branch, so a bad slice never touches main; and PRs only merge after their acceptance criteria pass, keeping main shippable at all times.

How much do DeepSeek API tokens cost for a project like this?

The demo project is a Python CLI built on DeepSeek's official API after a small top-up, and v1 landed within an afternoon of sessions. Cost scales with project size and how many RED/GREEN loops each slice needs — check the pricing page on the DeepSeek open platform before you commit, and start with a small balance.

Can I plug in a model other than DeepSeek?

Yes. Settings → Models accepts additional providers and custom providers, so the same workflow runs through any OpenAI-compatible endpoint. The video uses the official DeepSeek API key, but nothing in the workflow depends on it.

Related guides

Go deeper on the pieces this workflow builds on.

Sources & credits

All frames come from one real end-to-end build recorded on the DeepSeek Harness Web UI. Commands and file names follow what the video shows on screen; each image deep-links to the exact moment in the source video.

DSH Plugins is an independent community directory of DeepSeek Harness plugins. Not affiliated with or endorsed by DeepSeek. Third-party plugins are not security-audited — review the source before installing.

New DeepSeek Harness plugins, weekly. No spam.