agentsclimarketplace

Scaffold project

Skill urmzd/dotfiles/dot_agents/skills/scaffold-project

Cross-platform dotfiles managed by Chezmoi with Homebrew/apt and per-language version managers. One-command bootstrap for macOS and Linux with Neovim, Tmux, Zsh, and AI agent skills.

Install
npx -y skills add urmzd/dotfiles --skill scaffold-project

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Generates cross-language standard files (README, AGENTS.md, LICENSE, CONTRIBUTING.md, SECURITY.md, sr.yaml, .envrc, llms.txt), documentation conventions, and project structure, then dispatches to language-specific scaffolds. Use first for cross-language standard files and structure, THEN load the matching scaffold-<lang> skill (scaffold-rust, scaffold-go, scaffold-python, scaffold-node, scaffold-terraform) for CI/CD, release pipelines, and tooling. Use when creating or standardizing projects. Do NOT use alone for a single-language project; co-load the matching scaffold-<lang> skill for its CI/CD and tooling.

SKILL.md

9.9 KB, ~2.3k tokens by cl100k_base, as published. Nobody here has run it

Project Scaffolding

Development Philosophy

Every project should be understandable by a junior developer. Self-documenting structure. Skills as documentation. Minimal setup friction.

Language-Specific Scaffolds

After generating standard files, load the appropriate language skill for CI/CD, release, and tooling:

LanguageSkillKey Tools
Rustscaffold-rustcargo, clippy, rustfmt, cross, crates.io
Goscaffold-gogo, golangci-lint, gofmt
Pythonscaffold-pythonuv, ruff, pytest, ty
Node/TSscaffold-nodepnpm, biome, tsc
Terraformscaffold-terraformterraform, AWS OIDC

Always generate the standard files below first, then apply the language-specific scaffold.

Standard Files (Every Project)

FilePurpose
README.mdHuman-facing documentation (see write-readme)
AGENTS.mdAI-facing project context (see configure-ai)
LICENSEApache-2.0 (standard for all repos)
CONTRIBUTING.mdHow to contribute (see template below)
CODE_OF_CONDUCT.mdContributor Covenant 2.1 (see community-health)
SECURITY.mdVulnerability reporting policy (see community-health)
.github/pull_request_template.mdStandard PR template (see community-health)
.github/ISSUE_TEMPLATE/Bug report + feature request forms + config (see community-health)
sr.yamlSemantic release config
.envrcdirenv config (per-language layout, env vars, dotenv)
llms.txtLLM-friendly project summary (see create-llms-txt)
skills/<name>/SKILL.mdAgent skill instructions
docs/Project documentation (guides/, rfcs/, plans/, runbooks/, etc.)
.ai-memory/Tool-agnostic AI memory (see memory skill)
.github/workflows/ci.ymlQuality gate
.github/workflows/release.ymlAutomated releases
teasr.tomlDemo recording config (optional -- add for CLIs/visual output; see style-brand)
showcase/Demo assets: demo.gif, demo.png, feature captures (optional -- add with teasr.toml)
examples/Runnable example code (optional -- add for libraries/SDKs/configurable tools)
spec/API specifications (optional -- add when project exposes/consumes a formal API)

Task Runner Convention

Prefer native build systems over justfile. Add a justfile only when project complexity demands orchestration beyond what the native tools provide.

LanguageNative Task RunnerWhen to Add justfile
Node/TSpnpm scripts in package.jsonMonorepo orchestration, multi-step deploys
Rustcargo commandsMulti-crate workspaces, cross-compilation
GoMakefile + go commandsMulti-service repos, protobuf codegen
Pythonjustfile + uv runAlways (Python lacks a native task runner)
Terraformterraform CLIMulti-environment workspace management

Standard Task Interface

Every project should support these operations, regardless of how they're invoked:

init    . install hooks, download deps
build   . compile / bundle
test    . run test suite
lint    . static analysis
fmt     . format code
check   . fmt + lint + test (quality gate)
run     . execute the project
record  . capture demo assets with teasr (when teasr.toml exists)

Examples Convention

Projects that expose a library, SDK, or configurable tool include an examples/ directory with self-contained, runnable examples.

Structure

  • examples/basic/ -- simplest possible use case (always present when examples/ exists)
  • examples/<feature>/ -- named by feature being demonstrated (e.g., agent/, streaming/, rag/)
  • examples/<use-case>/ -- named by use case for config-driven tools (e.g., petstore/, anthropic-messages/)

Entry Points by Language

LanguageEntry PointRun Command
Gomain.gogo run ./examples/<name>/
Rustmain.rscargo run --example <name> or standalone
Pythonmain.pyuv run examples/<name>/main.py
Node/TSindex.tsnpx tsx examples/<name>/index.ts

Each example must:

  1. Work with minimal dependencies and zero configuration
  2. Be referenced from the README Quick Start via fsrc (see write-readme)
  3. Include a doc comment at the top explaining prerequisites and how to run it

Showcase & Demo Convention

Projects with a CLI or visual output include demo assets for the README.

FilePurpose
teasr.tomlDemo recording config (see style-brand for template and theme)
showcase/demo.gifHero demo animation (referenced in README at 80% width)
showcase/demo.pngHero demo screenshot (fallback if no GIF)
showcase/<feature>.pngFeature-specific captures

The record task invokes teasr showme which reads teasr.toml and outputs to showcase/. For projects recording their own CLI, build first:

record: build
    teasr showme

Spec Convention

Projects that expose or consume a formal API place specifications in spec/:

FormatExtensionExample
OpenAPI.yaml / .jsonspec/openapi.yaml
Protocol Buffers.protospec/service.proto
GraphQL.graphqlspec/schema.graphql
JSON Schema.jsonspec/config-schema.json

For multi-version APIs, use subdirectories: spec/v1/, spec/v2/.

Python Config (pyproject.toml)

  • [tool.ruff] line-length 100, select ["E","W","F","I","UP","B","SIM","RUF"]
  • [tool.pytest.ini_options] testpaths ["tests"], pythonpath ["src"]

CONTRIBUTING.md Template

Standard sections:

  1. Prerequisites language runtime, build tools, GH_TOKEN
  2. Getting Started git clone + language-specific init
  3. Development language-specific check, test, fmt commands
  4. Commit Convention conventional commits (Angular); see ship skill for AI-assisted authoring
  5. Pull Requests fork, branch, PR
  6. Code Style brief, language-specific

License

Apache-2.0 for all repos. Exception: content-heavy sites (urmzd.com) may dual-license with CC BY-NC-ND 4.0 for content.

Sub-Package Convention

Publishable workspace members (sub-crates, sub-packages) must include their own documentation files for registry compliance (crates.io, npm, PyPI).

FileSourceWhen Required
LICENSECopy of root LICENSEAlways (registries require per-package license)
README.mdMinimal: crate name, description, link to parent workspaceAlways (registries display per-package README)

Minimal Sub-Package README Template

# {crate-name}

{description from Cargo.toml / pyproject.toml / package.json}

Part of the [{workspace-name}]({repository-url}) workspace.

## License

[Apache-2.0](../../LICENSE)

Skip examples/ workspace members -- they are not published independently.

Documentation Philosophy

Skills vs Docs

Skills (skills/<name>/SKILL.md) are executable agent instructions. They tell AI agents how to do things: follow conventions, run workflows, use tools. They are operational, imperative, and agent-consumable.

Docs (docs/) are project documentation. They capture what was decided and why: design proposals, how-to guides, operational runbooks, architecture descriptions, and plans. They serve humans and agents alike as reference material.

Both exist in every project. Neither replaces the other.

File Placement

Root-level standard files (stay at project root) -- these are GitHub-recognized community health files with special UI treatment:

  • README.md human-facing (install, usage, examples) -- rendered on landing page
  • CONTRIBUTING.md contributor onboarding -- linked on New Issue/PR pages
  • SECURITY.md vulnerability reporting -- populates Security tab (template in community-health)
  • CODE_OF_CONDUCT.md community standards -- community profile checklist (template in community-health)
  • CHANGELOG.md auto-generated by sr
  • LICENSE (no .md) -- must be at root for GitHub license detection
  • CODEOWNERS -- auto-assigns PR reviewers
  • AGENTS.md AI-facing (architecture, interfaces, commands)
  • llms.txt LLM discovery (links to README, AGENTS.md, skill)
  • .github/pull_request_template.md standard PR template (template in community-health)
  • .github/ISSUE_TEMPLATE/ bug/feature issue forms + config (templates in community-health)

Nothing else belongs at root. Common files that should go in docs/ instead:

  • ROADMAP.md → docs/roadmap.md (or use GitHub Projects/Issues)
  • USAGE.md → docs/usage.md (or fold into README's Usage section)
  • INSTALL.md → docs/install.md (or fold into README)
  • ARCHITECTURE.md → docs/architecture/

All other documents go in docs/ organized by purpose:

  • docs/guides/ how-to guides and walkthroughs
  • docs/rfcs/ design proposals and decision records
  • docs/plans/ implementation and migration plans
  • docs/runbooks/ operational procedures and incident response
  • docs/architecture/ system design and diagrams
  • Add subdirectories as needed (e.g. docs/api/, docs/tutorials/)

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 327,069. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.