nu_plugin_chipa_touch 0.1.0

A Nushell plugin for managing file copyright headers using customizable templates.
Documentation
# chipa-touch


A touch-like CLI that automatically adds copyright comments at the start of each file created, with powerful configuration management.

## Features


- 🎨 **Customizable Templates** - Use template variables and loops for dynamic headers
- 📦 **Git Integration** - Automatically uses repository-level configs
- 🌍 **Global & Local Configs** - Project-specific or personal defaults
- 👥 **Team Management** - Track multiple authors and contributors
- ⚙️ **CLI Configuration** - Manage all settings from the command line
- 🔧 **Flexible** - Support for 15+ programming languages out of the box

## Quick Start


```nushell
# Initialize configuration in your git repo

ctouch init

# Configure your details

ctouch config add-field "name" "Your Name" --section owner
ctouch config add-field "license" "MIT"

# Create files with copyright headers

ctouch src/main.rs src/lib.rs
```

## Commands


### Core Commands

- `ctouch <paths>` - Create files with copyright headers
- `ctouch init [--global]` - Initialize configuration file

### Configuration Management

- `ctouch config show` - Display current configuration
- `ctouch config add-field <key> <value>` - Add configuration field
- `ctouch config remove-field <key>` - Remove configuration field
- `ctouch config list-fields` - List all fields in a section
- `ctouch config add-author <username>` - Add team member
- `ctouch config remove-author <index>` - Remove team member
- `ctouch config list-authors` - List all authors
- `ctouch config set-template <content>` - Update template

For complete documentation, see:
- 📖 [COMMANDS.md]COMMANDS.md - Full command reference with examples
-[QUICK_REFERENCE.md]QUICK_REFERENCE.md - Quick lookup guide
- 📝 [IMPLEMENTATION_SUMMARY.md]IMPLEMENTATION_SUMMARY.md - Technical details

## Installation


```nushell
# Build the plugin

cargo build --release

# Register with Nushell

register target/release/chipa-touch.exe
```

## Configuration


Configurations are stored as TOML files:
- **Local**: `<git-root>/ctouch.toml`
- **Global**: `~/.config/nushell/ctouch/config.toml`

### Example Configuration


```toml
[config]
template = """
Copyright (c) {current_year} {owner.name}
License: {license}
Team: {{ for author in authors }}@{author.username}{{ endfor }}
"""

[config.owner]
username = "yourusername"
name = "Your Name"

[[authors]]
username = "teammate"
name = "Team Mate"
role = "Developer"

[variables]
license = "MIT"
project = "awesome-project"
```

## Template Variables


Available in templates:
- `{owner.username}`, `{owner.name}` - Owner information
- `{current_year}`, `{current_date}` - Date/time values
- `{ctouch_version}` - Tool version
- Custom variables from `[variables]` section
- `{authors}` - Array of team members

## Documentation


- [COMMANDS.md]COMMANDS.md - Complete command reference
- [QUICK_REFERENCE.md]QUICK_REFERENCE.md - Quick command lookup
- [TEMPLATE_USAGE.md]TEMPLATE_USAGE.md - Template syntax guide
- [API_REFERENCE.md]API_REFERENCE.md - API documentation
- [IMPLEMENTATION_SUMMARY.md]IMPLEMENTATION_SUMMARY.md - Implementation details

## License


See LICENSE file for details.