README.md for jacob-setup
Package
jacob-setup
jacob-setup
is a command-line utility designed to streamline the setup process of integrating the JACoB AI coding assistant into web development projects. This tool interactively generates a JACoB configuration file based on your project's specific needs, ensuring a smooth and customized integration of JACoB into your development workflow.
Overview
JACoB (Just Another Coding Bot) is an AI-powered coding assistant that automates and simplifies various aspects of the software development process. To effectively integrate JACoB into your project, it needs to understand your development environment, coding standards, and preferences. This is where jacob-setup
comes into play. It guides you through a series of prompts to capture vital information about your project, generating a configuration file that JACoB uses to align with your project's requirements.
Installation
You don’t need to install jacob-setup
globally. It can be run directly using npx
, ensuring you always use the latest version.
To start the configuration process, navigate to your project's root directory in the terminal and run:
npx jacob-setup create
Usage
After running the command, you will be prompted to answer a series of questions regarding your project's setup, such as the programming language, styling methods, directory structure, and more.
Once you have answered all the prompts, jacob-setup
will generate a jacob.json
file in your project's root directory. This file contains all the necessary configurations for JACoB to seamlessly integrate with your project.
Prerequisites
Before using jacob-setup
, ensure that your project environment meets the following prerequisites:
- Node.js installed (version 12 or higher recommended).
- A basic understanding of your project structure and the technologies used.
Features
- Interactive CLI prompts for easy configuration.
- Customizable to various web development technologies and frameworks.
- Generates a
jacob.json
file tailored to your project's needs.
Configuration Fields
jacob-setup
will guide you through the following fields to generate the jacob.json
file:
language
- Description: The primary programming language used in your project.
- Options:
React
, TypeScript
- Example:
"language": "React"
style
- Description: The styling method or framework employed in your project.
- Options:
CSS
, Tailwind
- Example:
"style": "Tailwind"
iconSet
- Description: The icon library used in the project.
- Options:
Font Awesome
, Heroicons
, Unicons
, React Feather
, Material UI
, Styled Icons
, IconPark
, CoreUI
, Iconify
, Lucide
- Example:
"iconSet": "Font Awesome"
componentExamples
- Description: Path to an example component file for JACoB to understand your component structure and style.
- Example:
"componentExamples": "/src/components/ExampleComponent.js"
apiEndpointsExamples
- Description: Path to an example API endpoint implementation file.
- Example:
"apiEndpointsExamples": "/src/api/exampleEndpoint.js"
pageExamples
- Description: Path to an example page file to help JACoB understand page structure and routing.
- Example:
"pageExamples": "/src/pages/ExamplePage.js"
directories
- Fields:
components
: Path to the components folder.pages
: Path to the pages folder.types
: Path for TypeScript type definitions (if applicable).styles
: Directory for styling files.tailwindConfig
: Path to the Tailwind configuration file.staticAssets
: Directory for static assets.
- Example:
"directories": {
"components": "/src/components",
"pages": "/src/pages",
"types": "/src/types",
"styles": "/src/styles",
"tailwindConfig": "/tailwind.config.js",
"staticAssets": "/public/assets"
}
envVariables
- Description: Configuration related to environment variables.
- Fields:
exampleFile
: Path to a file with example environment variables.
- Example:
"envVariables": { "exampleFile": "/.env.example" }
stateManagement
- Description: State management tool configuration.
- Fields:
tool
: The state management tool used.storeLocation
: Path to the store configuration file.
- Example:
"stateManagement": { "tool": "Redux", "storeLocation": "/src/store" }
testing
- Description: Configuration for testing.
- Fields:
writeTests
: Boolean indicating if JACoB should generate test files.testFramework
: The testing framework used.
- Example:
"testing": { "writeTests": true, "testFramework": "Jest" }
storybook
- Description: Storybook integration configuration.
- Fields:
writeStories
: Boolean value to indicate if JACoB should create Storybook stories.storiesLocation
: Directory for Storybook stories.
- Example:
"storybook": { "writeStories": true, "storiesLocation": "/src/stories" }
Contributing
Contributions to jacob-setup
are welcome! If you have suggestions for improvements or encounter any issues, please feel free to open an issue or submit a pull request on our GitHub repository.
License
jacob-setup
is released under the MIT License.