agentleFS
alfonsusenricoalfonsusenrico/pakem/skills/project-bootstrap/SKILL.md

project-bootstrap

Skill0 starsChanged 8 days agoMITView on GitHub

Use when starting a new repository, adopting this framework in an existing project, or adding missing scaffolding - AGENTS.md, capabilities, PROJECT_STATE.md, research folder, OpenSpec config, formatter, linter, type checks, git hooks, CI, .env.example, or project templates.

  • Reads credentials

40 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use delivery-planning, diagnose and 4 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • lzx-BillSkill

    delivery-planning

    Use when breaking work into tasks, planning milestones, mapping dependencies, sequencing implementation, or maintaining backlog and in-progress views. Trigger when user says "task breakdown", "milestone", "dependencies", "backlog", "sprint", "implementation plan", "delivery plan", or asks to "break this down into tasks". Coordinate with prompt-authoring for task-to-prompt mapping and with acceptance-design for task-to-acceptance mapping.

    Also in 3 projects that use this

  • MicrosoftSkill

    diagnose

    Use to systematically diagnose why scenarios fail — identifies root causes by analyzing agent traces, codebase, and behavioral patterns

    Also in 3 projects that use this

  • MicrosoftSkill

    api-design

    Guide for designing and documenting RESTful APIs. Use when asked to design an API, create endpoints, or document an API.

    Also in 3 projects that use this

  • GoogleSkill

    tdd

    Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.

    Also in 3 projects that use this

  • GoogleSkill

    grill-me

    A relentless interview to sharpen a plan or design.

    Also in 3 projects that use this

  • +1 more from google

The file

We split this skill into the rules it gives an agent

6 rules. 0 are common, 1 is distinctive, and 5 are very specific to this project.

  • 0

    Common

    Most of the 32 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Run change-planning intake and brainstorm first: outcome, users, constraints, capabilities, and stack.

    line 16
  2. Very specific:

    Private artifacts: add PROJECT_STATE.md and JOURNAL.md to .git/info/exclude.

    line 24
  3. Very specific:

    Research: create research/notes/, research/prototypes/, research/evidence/.

    line 38
  4. Distinctive:

    Layout: follow layout principles.

    line 40
  5. Very specific:

    CI: add CI from the release-delivery skill templates for the declared capabilities.

    line 53
  6. Very specific:

    When the line is missing or unclear, ask it as a gap.

    line 80

“Common” is measured: kept by at least 6 in 10 of the 32 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Project Bootstrap

Set up a repository so any agent can work in it to the owner's standard from the first commit. pakem project init (new) and pakem project adopt (existing) do the steps below for GitHub projects (stage experimental), then list the project's gaps for the gap protocol; do by hand only what they report. For an existing project, follow adoption instead of starting over.

1. Before scaffolding

Run change-planning intake and brainstorm first: outcome, users, constraints, capabilities, and stack. Record the decision in research/notes/.

2. Steps for a new repository

  1. Git: git init -b main; add .gitignore (start from gitignore snippet); follow git conventions.
  2. Private artifacts: add PROJECT_STATE.md and JOURNAL.md to .git/info/exclude. Commit AGENTS.md and openspec/ unless the project's profile keeps the agent's working files out of the repository (as a client engagement may); then exclude them and research/ too, or keep them in a private remote.
  3. AGENTS.md from the template: purpose, Capabilities: (see section 3), commands, architecture map, project rules, design surface, overrides, references. Keep project content under 8,000 characters. The kernel is installed globally, so AGENTS.md carries no copy of it; when a profile applies (organization or freelance), add its pinned block with pakem project sync <repo> --profile <dir> --apply. Write it when onboarding is settled, and keep it current: a change that alters a command, capability, the architecture map, a project rule, an override, or a runtime setting updates AGENTS.md in the same change.
  4. State: PROJECT_STATE.md from the state-and-handoff skill templates.
  5. Research: create research/notes/, research/prototypes/, research/evidence/.
  6. Layout: follow layout principles.
  7. Tooling: formatter, linter, type checker, and test runner per tooling baseline, runnable with one command each; start from Python or Node fragments and the EditorConfig.
  8. Configuration: typed settings and .env.example (template); see backend-engineering for the configuration standard.
  9. OpenSpec: openspec init with the native core profile, then fill openspec/config.yaml from the config template.
  10. Hooks: install the framework commit-msg and pre-push hooks (pakem hooks install <repo> --apply) so commits stay Conventional and subject-only.
  11. CI: add CI from the release-delivery skill templates for the declared capabilities; CI exists before the first feature lands.
  12. First commit: chore: bootstrap project on main, then branch for the first change. The pre-push hook lets only documentation reach main, except a new repository's first push of that single root commit; pakem project init makes and pushes it. Agents never set AF_ALLOW_PROTECTED_PUSH.

3. Capabilities

Declare in AGENTS.md: Capabilities: <comma-separated list> using only these names: database, deployed, money, personal-data, background-jobs, api-consumers, multi-user, llm. The "always" standards apply without declaration. Each capability switches on the standards listed in the framework's capability registry; the relevant skills (backend-engineering, sensitive-operations, genai-engineering, release-delivery, ui-ux-quality) name them. Update the line whenever a change adds a capability.

Also declare Delivery:, who releases the project. deployed keeps meaning "runs as a service" and switches on its runtime standards either way.

  • us: we release it; release-delivery applies in full.
  • others (<who>): another person or team releases it. Our work ends at commits, branches, and the merge request: follow the team's branch, review, and release conventions; never change their pipelines, deploy files, or environments unless asked; propose release-related changes to them instead of making them.
  • nobody: a library, tool, or experiment with no release beyond version tags.

When the line is missing or unclear, ask it as a gap; never assume us.

4. Other templates

  • Architecture decision record under docs/adr/.
  • Data-source contract for each external data source.
  • CHANGELOG for projects that release versions.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.