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 🙏

© 2024 – Pkg Stats / Ryan Hefner

use-inkk

v1.0.1

Published

copy and and paste made easy

Downloads

85

Readme

inkk

Incomplete Knowledge Kernel, aka inkk (thanks ChatGPT for the suggestion)

Why inkk?

Copy n' paste is the king

Think about Shadcn/UI, but applies for other places. Turns out, copy and paste holds a lot of merit, and it is actually a great deal in the AI world.

What inkk brings to the table?

  • Way way easier reusing code snippet between projects, especially when it comes to typescript codes, there are a lot of time where Type interference are way to complicated to wrap libraries around (and a lot of time impossible to do so)
  • Library always come with a lot of restrictions, and noises because it tends to cover cases you don't use as well. Well, copy and paste and you can copy what is needed, rather than everything
  • Way easier to debug, the code you copied are just right there, you can make changes, slap in console.log and see what happened
  • No more hair pulling due to library versioning complexities, you can just copy and paste, and you are good to go

getting stared

  • Install inkk globally or locally
  • Run inkk init to create a config file
  • Run inkk add <component> to add a component to the config
  • Profit

how inkk works?

There are 3 concepts in how inkk works

  • medium: inkk package is just any other js package that you can install with npm, yarn, pnpm, bun, etc.
  • mechanism: once inkk package is installed, the cli will look for component.json for component configuration, then files of the component will be copied to the target directory following the component instruction
  • transform: there are certain things you can do to custom the component for the usage, at the moment, there is only copy or not copy, but more will be added in the future

different to stuff like shadcn/ui

  • inkk uses package manager to carry out the source. Package manager supports a pretty wide range of package source like git, ssh, file etc
  • inkk uses package manager, as such, versioning, resetting to specific version will be pretty easy and straightforward
  • as inkk uses package manager, authorizing/altering any package source will be way easier

specification (and example)

inkk.json

{
  "version": "1.0",
  "pkg": "bun",
  "components": [
    {
      "name": "componento@*",
      "alias": "c"
    }
  ],
  "installDir": "mods"
}

component.json

{
  {
    "name": "componento",
    "version": "1.0.0",
    "files": [
      "README.md",
      {
        "file": "custom.ts",
        "overwrite": true
      }
    ]
  }
}

cli

(bunx | npm run | yarn run) inkk add componento

will copy README.md and custom.ts to mods/componento

License

MIT.