Skip to content

funish/basis

Repository files navigation

Funish Basis

GitHub Contributor Covenant

A modern development toolkit with unified CLI for package management, versioning, publishing, code quality, and Git workflow automation.

Similar to: Vite+ - Basis follows the same philosophy of unified tooling with Rust-powered components (oxlint/oxfmt) for maximum performance.

Packages

  • @funish/basis - Unified CLI toolkit for development workflows: package management, versioning, publishing, code quality, and Git automation
  • @funish/build - Modern build system powered by tsdown (Rolldown + Oxc) with Jiti stub support

Quick Start

# Install with npm
$ npm install -D @funish/basis

# Install with yarn
$ yarn add -D @funish/basis

# Install with pnpm
$ pnpm add -D @funish/basis

# Install globally (optional)
$ pnpm add -g @funish/basis

# Initialize in your project
basis init

# Use commands
basis add lodash
basis lint
basis version patch
basis publish
// basis.config.ts
import { defineBasisConfig } from "@funish/basis/config";

export default defineBasisConfig({
  lint: {
    config: ["--fix", "--fix-suggestions", "--type-aware", "--type-check"],
  },
  fmt: {
    config: ["--write", "."],
  },
  git: {
    hooks: {
      "pre-commit": "pnpm basis git staged",
      "commit-msg": "pnpm basis git lint-commit",
    },
    staged: {
      rules: {
        "**/*.{ts,tsx,js,jsx}": "basis lint",
        "**/*.{json,md,yml,yaml}": "basis fmt",
      },
    },
  },
});

Development

Prerequisites

  • Node.js 18.x or higher
  • pnpm 9.x or higher
  • Git for version control

Getting Started

  1. Clone the repository:

    git clone https://github.com/funish/basis.git
    cd basis
  2. Install dependencies:

    pnpm install
  3. Development mode:

    pnpm dev
  4. Build all packages:

    pnpm build
  5. Test locally:

    # Link the package globally
    cd packages/basis
    pnpm link --global
    
    # Test your changes
    basis --version

Development Commands

pnpm dev            # Development mode with watch
pnpm build          # Build all packages
pnpm lint           # Run linting

Contributing

We welcome contributions!

  1. Fork the repository
  2. Clone your fork: git clone https://github.com/YOUR_USERNAME/basis.git
  3. Install: pnpm install
  4. Develop: pnpm dev
  5. Test: pnpm build && basis <your-command>
  6. Commit: Use conventional commits (feat:, fix:, etc.)
  7. Push to your fork and create a Pull Request

Support & Community

License

This project is licensed under the MIT License - see the LICENSE file for details.


Built with ❤️ by Funish

About

A modern development toolkit with unified CLI for package management, versioning, publishing, code quality, and Git workflow automation. (Similar to Vite+)

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors