Skip to main content

Overview

Initialize a Project

Recommended

Prepare an existing project for use with Custy by generating project-specific configuration, templates, and supporting resources.

Commandcusty init

Category

Initialization

Quick Command

custy init

configurationtemplatesproject setup

Overview​

The custy init command prepares an existing project to work with Custy.

Rather than changing your project's Git history or executing release workflows, this command creates a configurable project workspace under .config/custy/. These generated files allow you to customize Custy's behavior without modifying the application itself.

Running custy init is the recommended first step when adopting Custy for a new or existing repository.


What This Command Does

What This Command Does

Generate Configuration

Creates the project's primary configuration file under.config/custy/config.toml

Create Templates

Generates default commit, tag, and changelog templates that can be customized for your team's workflow.

Prepare Project

Creates the required directory structure used by Custy.

Optional Examples

Generates example resources demonstrating supported templates.

When Should You Use It?

You should normally run custy init when:

  • Setting up Custy in a project for the first time.
  • Adding Custy to an existing Git repository.
  • Creating project-specific configuration.
  • Regenerating default templates after upgrading Custy.
  • Preparing a repository for team-wide usage.

In most projects, custy init is executed once during the initial setup. Afterward, the generated configuration can simply be updated as your project evolves.


What This Command Does Not Do

Unlike workflow commands, custy init does not:

  • Create commits.
  • Create Git tags.
  • Push changes to remote repositories.
  • Generate releases.
  • Modify Git history.
  • Execute release pipelines.

Its sole responsibility is preparing your project for future Custy workflows.


Project Workspace

After initialization, your project contains a dedicated Custy workspace.

Terminal
bash
your-project/
└── .config/
  └── custy/
      ├── config.toml
      └── templates/
          ├── backups/
          ├── changelog/
          ├── examples/
          ├── commit-message.txt
          └── tag-message.txt

This workspace keeps project-specific configuration separate from Custy's internal defaults, making it easier to customize behavior without modifying the application itself.


Why Initialize a Project?

Custy ships with sensible default behavior.

This means initialization is recommended, but not strictly required.

Without running custy init, Custy falls back to its built-in defaults.

Running custy init gives you additional flexibility by allowing your project to define its own:

  • configuration
  • templates
  • preferences
  • directory structure

This approach provides a balance between convenience and customization.



What's Next?

Once your project has been initialized, the next step depends on your workflow.

For example:

  • Validate your project configuration.
  • Start using individual Custy commands.
  • Execute predefined workflows.
  • Customize the generated configuration and templates.