[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80868":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":15,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":13,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":22,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":16,"starSnapshotCount":16,"syncStatus":27,"lastSyncTime":28,"discoverSource":29},80868,"harness-starter-kit","baskduf\u002Fharness-starter-kit","baskduf","Prompt-first starter kit for making repositories safer for AI coding agents.","https:\u002F\u002Fbaskduf.github.io\u002Fharness-starter-kit\u002F",null,"Python",67,4,35,11,0,32,50.8,"MIT License",false,"main",true,[],"2026-06-11 04:07:15","\u003Cp align=\"center\">\n  \u003Cimg alt=\"harness-starter-kit agent session demo\" src=\"site\u002Fassets\u002Fbanner.gif\" \u002F>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg alt=\"Generic profile\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fprofile-generic-6b7280?style=flat-square\" \u002F>\n  \u003Cimg alt=\"Python\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-3776AB?style=flat-square&logo=python&logoColor=white\" \u002F>\n  \u003Cimg alt=\"TypeScript\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTypeScript-3178C6?style=flat-square&logo=typescript&logoColor=white\" \u002F>\n  \u003Cimg alt=\"Node.js\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNode.js-5FA04E?style=flat-square&logo=nodedotjs&logoColor=white\" \u002F>\n  \u003Cimg alt=\"Next.js\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNext.js-000000?style=flat-square&logo=nextdotjs&logoColor=white\" \u002F>\n  \u003Cimg alt=\"React\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FReact-087EA4?style=flat-square&logo=react&logoColor=white\" \u002F>\n  \u003Cimg alt=\"Vue\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVue-4FC08D?style=flat-square&logo=vuedotjs&logoColor=white\" \u002F>\n  \u003Cimg alt=\"Django\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDjango-092E20?style=flat-square&logo=django&logoColor=white\" \u002F>\n  \u003Cimg alt=\"Flask\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FFlask-000000?style=flat-square&logo=flask&logoColor=white\" \u002F>\n  \u003Cimg alt=\"FastAPI\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FFastAPI-009688?style=flat-square&logo=fastapi&logoColor=white\" \u002F>\n  \u003Cimg alt=\"Spring Boot\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSpring_Boot-6DB33F?style=flat-square&logo=springboot&logoColor=white\" \u002F>\n  \u003Cimg alt=\"Android\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAndroid-3DDC84?style=flat-square&logo=android&logoColor=white\" \u002F>\n\u003C\u002Fp>\n\n**English** | [한국어](README.ko.md) | [日本語](README.ja.md) | [简体中文](README.zh-CN.md)\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fbaskduf.github.io\u002Fharness-starter-kit\u002F\">\n    \u003Cimg alt=\"Launch site\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLaunch-Agent_Session_Demo-0077ff?style=for-the-badge\" \u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fdev.to\u002Fbaskduf\u002Fi-stopped-prompt-engineering-my-ai-coding-agent-i-started-engineering-the-repo-instead-1i3e\">\n    \u003Cimg alt=\"Read the launch essay\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FRead-Launch_Essay-0A0A0A?style=for-the-badge&logo=devdotto&logoColor=white\" \u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbaskduf\u002Fharness_starter_kit_django\u002Ftree\u002Fmain\">\n    \u003Cimg alt=\"View Django dogfood repo\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FView-Django_Dogfood-092E20?style=for-the-badge&logo=django&logoColor=white\" \u002F>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n## Quick Start\n\nOpen the target repository with your coding agent and give it this prompt:\n\n```text\nUse this kit to apply harness engineering to this repository:\n\nhttps:\u002F\u002Fgithub.com\u002Fbaskduf\u002Fharness-starter-kit\n\nClone the kit into .\u002Fharness-starter-kit if it is not already present, read it,\nthen apply its prompt-first harness engineering workflow to this repository.\n\nRequirements:\n- Treat the current working directory as the target repository.\n- Treat .\u002Fharness-starter-kit as read-only reference material after cloning.\n- Inspect this repository before editing.\n- Preserve existing architecture, tools, package manager, commands, docs, and\n  conventions.\n- Do not blindly copy templates.\n- Add only the minimum useful harness pieces.\n- Prefer updating existing docs\u002Fconfigs over duplicating them.\n- Do not overwrite or delete existing files without explaining why.\n- If I ask for \u002Fharness doctor, use\n  .\u002Fharness-starter-kit\u002Fcommands\u002Fharness-doctor.md.\n- If I ask for \u002Fharness update after adoption, use\n  .\u002Fharness-starter-kit\u002Fcommands\u002Fharness-update.md to refresh the kit reference,\n  record .harness\u002Fsource.json, and selectively update target harness files\n  without blindly overwriting existing files.\n- If I ask for \u002Fharness refresh after adoption, use\n  .\u002Fharness-starter-kit\u002Fcommands\u002Fharness-refresh.md to review existing harness\n  docs, rules, knowledge records, and checks for stale or duplicated guidance.\n  Do not delete, archive, move, or rename files without my explicit approval for\n  the specific files.\n\nExpected result:\n- project-specific AGENTS.md or updated existing agent instructions\n- knowledge store if no equivalent exists\n- lightweight drift checks based on this repo's real rules\n- local verification commands using existing tools\n- adoption report with files changed, checks to run, assumptions, remaining\n  manual steps, and whether .\u002Fharness-starter-kit should be removed, ignored, or\n  kept before commit\n```\n\nFor the full prompt and workflow details, see\n[`docs\u002Fprompts\u002Fapply-to-target-repo.md`](docs\u002Fprompts\u002Fapply-to-target-repo.md)\nand [`docs\u002Fadoption-workflow.md`](docs\u002Fadoption-workflow.md).\n\n## Harness Theory\n\nHarness engineering treats the repository as the durable operating environment\nfor coding agents:\n\n```text\nHarness = Instructions + Constraints + Feedback + Memory + Evaluation + Governance\n```\n\nHarness health is different from agent effectiveness. Harness Doctor can scan\nfor durable repository evidence, but it cannot prove that agents make fewer\nmistakes. Measure that separately with task outcomes and effectiveness reports.\nSee [`docs\u002Ftheory\u002Fharness-engineering.md`](docs\u002Ftheory\u002Fharness-engineering.md)\nfor the model.\n\n## Commands\n\n### `\u002Fharness doctor`\n\nRun Harness Doctor to evaluate baseline repository evidence for reliable AI\ncoding agent collaboration. It reports a five-category Harness Score across\nAgent Instructions, Feedback Loops, Durable Memory, Structural Safety, and\nAdoption Clarity; agent effectiveness and governance maturity remain non-scored\nmanual review items.\n\n- Command workflow: [`commands\u002Fharness-doctor.md`](commands\u002Fharness-doctor.md)\n- Rubric: [`docs\u002Fscoring\u002Fharness-score-rubric.md`](docs\u002Fscoring\u002Fharness-score-rubric.md)\n- Example report: [`docs\u002Fexamples\u002Fharness-doctor-report.md`](docs\u002Fexamples\u002Fharness-doctor-report.md)\n\nFor an objective baseline scan, use `python3` instead of `python` on\nmacOS\u002FLinux when `python` is unavailable:\n\n```powershell\npython scripts\u002Fharness_doctor.py --target .\n```\n\n### `\u002Fharness update`\n\nAfter a repository has adopted the harness, use `\u002Fharness update` to refresh the\nlocal `.\u002Fharness-starter-kit` reference clone and selectively apply new harness\nguidance.\n\nHarness Update records the confirmed kit source in `.harness\u002Fsource.json`,\nclassifies update opportunities, and finishes with a Harness Update Report. It\nmust not blindly overwrite target repository files.\n\n- Command workflow: [`commands\u002Fharness-update.md`](commands\u002Fharness-update.md)\n\n### `\u002Fharness refresh`\n\nAfter a repository has adopted the harness, use `\u002Fharness refresh` to review the\nexisting target harness for stale docs, duplicated guidance, obsolete records,\nor unused checks.\n\nHarness Refresh classifies findings as keep, update, merge,\narchive\u002Fdelete candidate, or manual review. It does not refresh the local kit\nreference and must not delete files without explicit approval.\n\n- Command workflow: [`commands\u002Fharness-refresh.md`](commands\u002Fharness-refresh.md)\n\n## How Adoption Works\n\nThis is not primarily an automatic installer. The agent should inspect the\ntarget repository first, then adapt the smallest useful set of harness\nartifacts:\n\n- `AGENTS.md` for durable agent instructions\n- architecture constraints through linting, type checks, import boundaries, or\n  project-specific rules\n- feedback loops through tests, CI, pre-commit hooks, and clear failure messages\n- a knowledge store under `docs\u002F` for decisions, failures, conventions, and\n  domain context\n- garbage-collection checks that detect code, document, and structure drift\n\nUse the optional installer only when you want a skeleton before agent-driven\nadaptation:\n\n```powershell\npython harness-starter-kit\u002Fscripts\u002Fapply_harness.py --target . --profile generic --dry-run\n```\n\nThe optional installer never overwrites existing files unless `--force` is\nprovided. It copies stack profile snippets into `docs\u002Fharness\u002Fprofiles\u002F\u003Cprofile>`\nfor review. During prompt-first adoption, agents read profile templates from the\ncloned kit under `harness-starter-kit\u002Ftemplates\u002Fprofiles\u002F\u003Cprofile>`.\n\n## Profiles\n\nAvailable profiles are `generic`, `python`, `typescript`, `nextjs`, `django`,\n`flask`, `fastapi`, `spring`, `android`, `react`, and `vue`.\n\nProfiles are conservative reference material, not automatic transformations.\nAdopt only the snippets that fit the target repository's current tools and\nmaintenance expectations. For profile absorption after a stack is introduced,\nuse [`docs\u002Fchecklists\u002Fprofile-absorption.md`](docs\u002Fchecklists\u002Fprofile-absorption.md).\n\n## Documentation Map\n\n- Overview: [`docs\u002Foverview.md`](docs\u002Foverview.md)\n- Theory: [`docs\u002Ftheory\u002Fharness-engineering.md`](docs\u002Ftheory\u002Fharness-engineering.md)\n- Roadmap: [`ROADMAP.md`](ROADMAP.md)\n- Adoption workflow: [`docs\u002Fadoption-workflow.md`](docs\u002Fadoption-workflow.md)\n- Harness refresh workflow: [`commands\u002Fharness-refresh.md`](commands\u002Fharness-refresh.md)\n- Full adoption prompt: [`docs\u002Fprompts\u002Fapply-to-target-repo.md`](docs\u002Fprompts\u002Fapply-to-target-repo.md)\n- Component map: [`docs\u002Fcomponent-map.md`](docs\u002Fcomponent-map.md)\n- Validation coverage: [`docs\u002Fvalidation.md`](docs\u002Fvalidation.md)\n- Effectiveness evaluation: [`docs\u002Fevaluation.md`](docs\u002Fevaluation.md)\n- Lifecycle pilot details: [`docs\u002Fexamples\u002Flifecycle-pilot-results.md`](docs\u002Fexamples\u002Flifecycle-pilot-results.md)\n\n## Validation And Measurement\n\nAutomated fixture tests cover installation and runnable drift checks across\nNode.js, Next.js, Django, FastAPI, Flask, React, Spring Boot, Android, Vue,\nPython, and TypeScript-oriented profiles. See\n[`docs\u002Fvalidation.md`](docs\u002Fvalidation.md) for coverage details and opt-in E2E\nchecks.\n\nA live dogfooding target is\n[baskduf\u002Fharness_starter_kit_django](https:\u002F\u002Fgithub.com\u002Fbaskduf\u002Fharness_starter_kit_django),\na small Django project used to test prompt-first adoption, `\u002Fharness update`,\nfailure memory, and effectiveness tracking in a real repository.\n\nThey do not prove that harness adoption reduces repeated agent mistakes. Use\n[`docs\u002Fevaluation.md`](docs\u002Fevaluation.md) and\n[`docs\u002Ftemplates\u002Feffectiveness-report.md`](docs\u002Ftemplates\u002Feffectiveness-report.md)\nor [`docs\u002Ftemplates\u002Ftask-outcome.yaml`](docs\u002Ftemplates\u002Ftask-outcome.yaml) to\nmeasure comparable tasks, wrong-file edits, first-pass verification, and human\nrework.\n\n## Local Checks\n\nRun these checks before changing starter-kit templates, command workflows,\ninstaller behavior, or drift scripts. Use `python3` instead of `python` on\nmacOS\u002FLinux when `python` is unavailable:\n\n```powershell\npython -m unittest discover -s tests\npython -m py_compile scripts\u002Fapply_harness.py scripts\u002Fcheck_docs_drift.py scripts\u002Fcheck_structure.py scripts\u002Fcheck_encoding_hygiene.py scripts\u002Fcheck_effectiveness_plan.py scripts\u002Fharness_doctor.py\npython scripts\u002Fcheck_docs_drift.py\npython scripts\u002Fcheck_structure.py\npython scripts\u002Fcheck_encoding_hygiene.py\npython scripts\u002Fcheck_effectiveness_plan.py\npython scripts\u002Fharness_doctor.py --target .\n```\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n\n## Core Principle\n\nEvery recurring agent failure should be converted into at least one durable\nartifact: a clearer instruction, an automated constraint, a test or CI check, a\ndecision or failure record, or a drift check.\n","baskduf\u002Fharness-starter-kit 是一个用于编码代理的仓库原生工程启动工具包。它主要使用 Python 编写，支持多种技术栈如 TypeScript、Node.js、Next.js、React、Vue 等，旨在通过预定义的工作流简化和加速代码生成与维护过程。该工具包特别适用于需要快速搭建或改进开发环境的场景，比如在已有代码库上进行自动化测试配置、持续集成\u002F持续部署（CI\u002FCD）设置等任务时。采用 MIT 许可证发布，确保了其开源性和自由度。",2,"2026-06-06 04:03:47","CREATED_QUERY"]