npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@arthurghz/create-ack

v0.3.3

Published

Forkable standard for spinning up production-grade, spec-first Claude Code projects. `npx @arthurghz/create-ack <name> --archetype <x>` scaffolds a fully-wired child from frozen archetype templates — deterministic, zero LLM in the render loop.

Downloads

1,118

Readme

ai-core-kit

A forkable standard for spinning up production-grade Claude Code projects.

ai-core-kit is not a project — it is the standard every new project forks. It is a meta-repo that, via a single /ack-init run inside a fresh fork, installs a battle-tested Claude Code configuration plus a delivery methodology into that child repo. You fork it, run the interview, and your repo is wired with the right .claude/ tooling, an archetype-appropriate scaffold, an opt-in design-contract gate, optional MCP, and offline cost telemetry — with zero manual file shuffling.


The one thing to never get wrong: two layers

ai-core-kit lives in two layers that must never be conflated:

| Layer | What it is | What governs it | |---|---|---| | METAbuilding the kit itself | the scaffold repo: this README/CLAUDE.md, docs/, .claude/ tooling, bootstrap/, templates/, telemetry/ (and the planned discovery/) | forkability, idempotency, template hygiene, offline telemetry, the planned discovery engine | | CHILDwhat /ack-init renders into a fork | the actual new project | design-contract-first, the bootstrap interview, archetype scaffolding, the contract gate |

Design-contract-first / API-first / the contract gate are CHILD-layer rules. They are authored here as templates + hooks that ship into the child — they do not govern how the meta-repo itself is built. Consequently the META repo deliberately:

  • carries no project.manifest.yaml and no contract instance (those are child artifacts produced by the interview); and
  • wires no contract-gate hook of its own (it would pass vacuously).

The contract payload lives only under templates/ and is what /ack-init renders.

See the full boundary rationale in docs/BOOTSTRAP.md and the day-to-day rules in docs/CONVENTIONS.md.


How it works (usage flow)

npx @arthurghz/create-ack <name> --archetype <x>     (fork-free, primary)
   │   …or fork ai-core-kit and run /ack-init inside it (in-Claude, interactive)
   └─ archetype-first interview (templates/interview/questions.yaml)
             └─ writes project.manifest.yaml   ← single source of truth
                  └─ renders the archetype template set (docs/RENDER-ENGINE.md)
                       └─ wires the opt-in extras you chose:
                          hooks · MCP · telemetry   (discovery: planned, P4)
  1. Start a new project — two equivalent entry points:
    • npx @arthurghz/create-ack <name> --archetype <x> (primary, fork-free): spins up a standalone child straight from the frozen templates — no fork, no META .claude/ tree, no LLM in the loop. --archetype selects the branch axis; --yes falls back to the questions.yaml defaults for a non-interactive run.
    • Fork this repo and run /ack-init inside it (the in-Claude, interactive equivalent): the same archetype-first interview, driven conversationally.
  2. Either path runs the archetype-first interview: pick your project shape, then answer only the questions that apply to it (an IaC project is never asked database questions; a fullstack project is offered the design-system install).
  3. The interview writes a project.manifest.yaml — the single source of truth for everything downstream. There is no LLM in the render loop: the same answers produce a byte-identical manifest, and the manifest is validated against the frozen JSON-Schema before anything is rendered (invalid manifest → abort, write nothing).
  4. The render engine stamps out the archetype template set from templates/, substituting ${dotted.path} variables from the manifest.
  5. Opt-in extras you selected are wired: conservative hooks (including the 3-mode contract gate), project-scoped MCP, and the offline telemetry aggregator. (The discovery sources are planned for P4 and not yet wired.)

Forkability invariant: the META .claude/ tree is never copied into a child. Child hooks use the literal ${CLAUDE_PROJECT_DIR}; child template variables are ${dotted.path} in snake_case.


The frozen P3 contract

The interview → manifest → render pipeline is governed by a small set of frozen contract files. They are the stable interface four teams build against; changing them is a deliberate, versioned act.

| File | Role | |---|---| | templates/manifest/project.manifest.schema.yaml | Authoritative, human-readable manifest contract (schema_version: 2). | | templates/manifest/project.manifest.schema.json | JSON-Schema (draft 2020-12) generated from the YAML; the validator the interview runs. | | templates/interview/questions.yaml | The deterministic question bank /ack-init walks in order; the sole source of interview questions. | | docs/RENDER-ENGINE.md | The render contract: variable syntax, _when.* conditional dirs, the render map, and idempotency rules. |

Design detail and the producer/consumer matrix live in docs/P3-DESIGN.md.


Cost telemetry — value prop

Claude Code hooks cannot read token cost today (see issue #11008), so cost is not captured live. Instead ai-core-kit ships an offline transcript aggregator that reads ~/.claude/projects/**/*.jsonl and joins it against a versioned pricing map (telemetry/pricing.json) to produce per-feature and per-model cost attribution after a run — not a live meter, but accurate, reproducible accounting you can diff across runs. Activity/metadata hooks remain metadata-only and never block.

See telemetry/README.md for the data contract and the pricing-map format.


Archetype status (v1)

/ack-init is archetype-first. v1 ships five archetypes at two depths:

| Archetype | v1 depth | |---|---| | backend-api | Deep — full template set, contract gate, OpenAPI seed | | fullstack | Deep — full set + optional design-system install | | monorepo | Minimal-core | | library-sdk | Minimal-core | | infra-iac | Minimal-core |

Deep archetypes render a complete, opinionated scaffold; minimal-core archetypes render the always-on safe core (skills + minimal CLAUDE.md + command/agent conventions + manifest) and will be deepened in later versions.


Repository map

ai-core-kit/
├── README.md  CLAUDE.md  LICENSE  THIRD_PARTY_NOTICES.md
├── .claude/{agents,commands,skills,hooks}/  settings.json   # META tooling (never forked into a child)
├── bootstrap/{ack.bootstrap.yaml,schema/}                   # data-driven META self-build config + JSON-Schema
├── templates/                                               # the CHILD payload /ack-init renders
│   ├── manifest/project.manifest.schema.{yaml,json}
│   ├── interview/questions.yaml
│   └── archetypes/{backend-api,fullstack,monorepo,library-sdk,infra-iac}/
├── telemetry/{README.md,pricing.json,aggregate.py,observability/}  # offline cost aggregation
├── discovery/{sources.yaml,proposals/,adopted/}             # planned (P4) — not yet on disk
└── docs/

Documentation

The full documentation site is live at https://ai-kit.unbund.com.

Licensing

The ai-core-kit project itself is MIT-licensed (see ./LICENSE); the Apache-2.0 note below applies only to the vendored Anthropic example skills, which carry their own LICENSE.txt + NOTICE.

ai-core-kit learns patterns broadly but vendors files conservatively. Anthropic example skills are Apache-2.0 (vendorable with a NOTICE); the Anthropic document skills (docx/pdf/pptx/xlsx) are proprietary / source-available and are never vendored or derived from. See docs/REFERENCES.md and THIRD_PARTY_NOTICES.md.