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

charmix

v0.1.7

Published

Charmix it's a tool to generate projects from custom templates (archetypes).

Downloads

1

Readme

Charmix it's a tool to generate projects from custom templates (archetypes).

It's try to solve a problem when you copy files from one project to another over and over. And then, you sync changes in every single file between projects.

Now you can make project template once and apply it for every new project.

Why Charmix?

If you tried to use boilerplate generators like create-react-app and similar, you may ask yourself "why i should use charmix instead"?

Answer is - for your productivity. Instead of use few CLI tools and remember how to use its and read the docs for each, you may use one tool that have one powerful interface for ALL archetypes.

If you created a boilerplate generators, you may ask yourself "why i should to create charmix archetype, instead of standalone boilerplate?"

Answer is - easy maintenance and whole powerful of platform. All you need is create JSON file on 4 lines contains glob pattern to files for static archetype or javascript function that receive options and return configured files as buffers or strings for dynamic archetypes.

Read more in ArchetypeAPI docs

How to use?

Installation

# install it globally
npm install -g charmix

# or yarn
yarn global add charmix

Add your favorite archetypes

Charmix is only platform to manage boilerplates, but it's not contains any archetypes by default. It's like APT for linux packages.

Thus, you have to find archetypes on the internet or create yours and add it to charmix registry to use.

You can look at archetypes list or try to find on github or npm by keyword charmixArchetype.

# Add archetype from git service
charmix add -t git https://github.com/vitonsky/charmix.git archetypes/ts-frontend

# Or from local machine
charmix add -t local /home/username/archetypeDirectory

Use archetype

# You may list available archetypes
charmix list

# Let's use archetype ts-frontend
charmix add -t local /home/username/archetypeDirectory

# To write files to current directory
charmix use ts-frontend
# To write files to directory projectDir
charmix use -d ./projectDir ts-frontend

# Specify parameters manually
charmix use -d ./projectDir ts-frontend name=projectName useReact=true
# Or specify parameters in interactive mode
charmix use -d ./projectDir -i ts-frontend

Explore commands by run any command with argument --help or -h.

Try it charmix -h, charmix use -h.

How to create a new archetype?

If you want to create archetype, read the ArchetypeAPI docs and suggests to create archetype.

If you create archetype and want to make it public, publish your archetype to any git hosting or npm registry with keyword charmixArchetype and create issue with url to your archetype to add it to archetypes list.


Inspired by Maven