### Launch DotState Application Source: https://github.com/serkanyersen/dotstate/blob/main/README.md Command to launch the DotState application after installation. This is the first step in the quick start guide. ```bash dotstate ``` -------------------------------- ### Install DotState using curl Source: https://github.com/serkanyersen/dotstate/blob/main/README.md Recommended installation method using a curl script. This command downloads and executes the installation script from the official website. ```bash curl -fsSL https://dotstate.serkan.dev/install.sh | bash ``` -------------------------------- ### Direct Homebrew Install Source: https://github.com/serkanyersen/dotstate/blob/main/PUBLISHING.md Install a formula directly from a specific tap without tapping the repository first. This is an alternative to tapping and then installing. ```bash brew install serkanyersen/dotstate/dotstate ``` -------------------------------- ### Clone and Install DotState from Source Source: https://github.com/serkanyersen/dotstate/blob/main/INSTALL.md Build and install DotState from its source code. This method requires Git and Cargo, and involves cloning the repository, then building and installing. ```bash # Clone the repository git clone https://github.com/serkanyersen/dotstate.git cd dotstate # Build and install cargo install --path . ``` -------------------------------- ### Install DotState using Cargo Source: https://github.com/serkanyersen/dotstate/blob/main/INSTALL.md Use this command for the recommended and quickest installation of DotState via the Cargo package manager. ```bash cargo install dotstate ``` -------------------------------- ### Install DotState using Homebrew Source: https://github.com/serkanyersen/dotstate/blob/main/INSTALL.md Install DotState using Homebrew after adding the tap. This command installs the latest version available through the Homebrew tap. ```bash # Install brew install dotstate ``` -------------------------------- ### Install from a local Homebrew Tap Source: https://github.com/serkanyersen/dotstate/blob/main/PUBLISHING.md Tap a custom Homebrew repository and install a formula. This is useful for testing your own formulas before submitting them to core. ```bash brew tap serkanyersen/dotstate brew install dotstate ``` -------------------------------- ### Install Development Tools on Fedora Source: https://github.com/serkanyersen/dotstate/blob/main/INSTALL.md Install necessary development tools and libraries for compiling Rust projects on Fedora Linux. ```bash # Fedora sudo dnf install gcc openssl-devel ``` -------------------------------- ### Configure Zsh Completions for Oh-My-Zsh/Antigen/Prezto Source: https://github.com/serkanyersen/dotstate/blob/main/README.md Manual setup for Zsh frameworks like oh-my-zsh, antigen, or prezto to enable DotState completions by adding to fpath. ```bash mkdir -p ~/.zsh/completions dotstate completions zsh > ~/.zsh/completions/_dotstate ``` -------------------------------- ### Verify DotState Installation Source: https://github.com/serkanyersen/dotstate/blob/main/INSTALL.md Check if DotState has been installed correctly by running its version command. This confirms the executable is in your PATH and functional. ```bash dotstate --version ``` -------------------------------- ### Manage DotState Packages Source: https://github.com/serkanyersen/dotstate/blob/main/README.md Commands for managing packages, including listing, adding, checking installation status, and installing missing packages. ```bash dotstate packages list ``` ```bash dotstate packages add -n ripgrep -m brew -b rg ``` ```bash dotstate packages check ``` ```bash dotstate packages install ``` -------------------------------- ### Install DotState Globally from Local Build Source: https://github.com/serkanyersen/dotstate/blob/main/INSTALL.md Install the DotState executable globally after building from source. This command places the binary in your Cargo bin directory, typically ~/.cargo/bin. ```bash cargo install --path . ``` -------------------------------- ### Install Development Tools on Ubuntu/Debian Source: https://github.com/serkanyersen/dotstate/blob/main/INSTALL.md Install essential build tools and libraries required for compiling Rust projects on Ubuntu or Debian-based Linux distributions. ```bash # Ubuntu/Debian sudo apt-get install build-essential pkg-config libssl-dev ``` -------------------------------- ### Add DotState Homebrew Tap Source: https://github.com/serkanyersen/dotstate/blob/main/INSTALL.md Add the custom Homebrew tap for DotState. This is a one-time setup step required before installing DotState using Homebrew. ```bash # Add the tap (once) brew tap serkanyersen/dotstate ``` -------------------------------- ### Profile Inheritance Example Source: https://github.com/serkanyersen/dotstate/blob/main/README.md Illustrates a profile inheritance chain where a child profile inherits files from its parent and grandparent, with common files having the lowest priority. This example shows how to manage layered configurations. ```text base │ .zshrc, .vimrc, .tmux.conf │ work (inherits base) │ .zshrc (overrides base's) │ .ssh/config (own) │ work-laptop (inherits work) .ssh/config (overrides work's) ``` -------------------------------- ### Good Commit Message Examples Source: https://github.com/serkanyersen/dotstate/blob/main/CONTRIBUTING.md Use imperative mood and be descriptive. Avoid vague messages. ```text Good: "Add support for custom file paths in config" Good: "Fix symlink creation on Windows" ``` ```text Bad: "fix" Bad: "updates" ``` -------------------------------- ### Run DotState Directly from Build Output Source: https://github.com/serkanyersen/dotstate/blob/main/INSTALL.md Execute the DotState binary directly from the build output directory. This is useful for testing the build without a global installation. ```bash ./target/release/dotstate ``` -------------------------------- ### Install Cross-Compilation Targets Source: https://github.com/serkanyersen/dotstate/blob/main/PUBLISHING.md Add target architectures to your Rust toolchain for cross-compilation. This is necessary before building binaries for different platforms. ```bash rustup target add aarch64-apple-darwin rustup target add x86_64-unknown-linux-gnu ``` -------------------------------- ### Check Rust Version Source: https://github.com/serkanyersen/dotstate/blob/main/INSTALL.md Display the currently installed Rust compiler version. Ensure it meets the minimum requirement (1.70+) for building DotState. ```bash rustc --version ``` -------------------------------- ### Update Rust Toolchain Source: https://github.com/serkanyersen/dotstate/blob/main/INSTALL.md Update your Rust installation to the latest stable version using rustup. This can resolve build issues caused by outdated Rust components. ```bash rustup update stable ``` -------------------------------- ### Add Cargo Bin Directory to PATH Source: https://github.com/serkanyersen/dotstate/blob/main/INSTALL.md Manually add the Cargo bin directory to your PATH environment variable. This ensures that executables installed by Cargo are accessible from the command line. ```bash export PATH="$HOME/.cargo/bin:$PATH" ``` -------------------------------- ### Manual Deployment via Vercel CLI Source: https://github.com/serkanyersen/dotstate/blob/main/website/DEPLOY.md Deploy the website to production using the Vercel CLI from the repository root. Ensure you are in the 'website' directory before running the command. ```bash # From repository root cd website vercel --prod ``` -------------------------------- ### Show DotState Help Source: https://github.com/serkanyersen/dotstate/blob/main/README.md Access the help documentation for DotState commands. ```bash dotstate help ``` -------------------------------- ### Activate DotState Symlinks Source: https://github.com/serkanyersen/dotstate/blob/main/README.md Run 'activate' after cloning the repository on a new machine to set up the necessary symlinks. ```bash dotstate activate ``` -------------------------------- ### Serve Website Locally with Python Source: https://github.com/serkanyersen/dotstate/blob/main/website/README.md Use Python's built-in HTTP server to serve the website locally. Navigate to the 'website' directory and run the command. ```bash cd website python3 -m http.server 8000 ``` -------------------------------- ### Serve Website Locally with Node.js http-server Source: https://github.com/serkanyersen/dotstate/blob/main/website/README.md Use the 'http-server' package via npx to serve the website locally. Ensure you are in the 'website' directory. ```bash cd website npx http-server ``` -------------------------------- ### Serve Website Locally with PHP Source: https://github.com/serkanyersen/dotstate/blob/main/website/README.md Use PHP's built-in web server to serve the website locally. Navigate to the 'website' directory and specify the host and port. ```bash cd website php -S localhost:8000 ``` -------------------------------- ### Build, Run, and Test Commands Source: https://github.com/serkanyersen/dotstate/blob/main/CLAUDE.md Standard Cargo commands for building, running the TUI or CLI, and executing tests. ```bash cargo build # Build cargo run # Run TUI cargo run -- list # Run CLI command cargo test # Run all tests cargo fmt && cargo clippy # Format + lint (REQUIRED before committing) ``` -------------------------------- ### List Synced Files with DotState CLI Source: https://github.com/serkanyersen/dotstate/blob/main/README.md Use the 'list' command to view all files currently being synced by DotState. ```bash dotstate list ``` -------------------------------- ### Tagging a Release for Deployment Source: https://github.com/serkanyersen/dotstate/blob/main/website/DEPLOY.md Use these commands to tag a new version and push it to GitHub, triggering the automatic deployment workflow. ```bash git tag v1.0.0 git push origin v1.0.0 ``` -------------------------------- ### Clone and Build dotstate Source: https://github.com/serkanyersen/dotstate/blob/main/CONTRIBUTING.md Clone the repository and build the project in debug or release mode using Cargo. ```bash # Clone your fork git clone https://github.com/serkanyersen/dotstate.git cd dotstate # Build in debug mode cargo build # Build in release mode cargo build --release # Run tests cargo test # Run the application cargo run ``` -------------------------------- ### List All DotState Profiles Source: https://github.com/serkanyersen/dotstate/blob/main/README.md View a list of all available profiles managed by DotState with the 'profile list' command. ```bash dotstate profile list ``` -------------------------------- ### Add File to DotState Sync Source: https://github.com/serkanyersen/dotstate/blob/main/README.md Use the 'add' command to include a new file or directory in DotState's synchronization. ```bash dotstate add ~/.myconfig ``` -------------------------------- ### Publish to crates.io Source: https://github.com/serkanyersen/dotstate/blob/main/PUBLISHING.md Publish your crate to the crates.io registry. This action is permanent, so verify all details before executing. ```bash cargo publish ``` -------------------------------- ### Build Release Binaries for Linux Source: https://github.com/serkanyersen/dotstate/blob/main/PUBLISHING.md Compile the project in release mode for Linux on the x86_64 architecture. Docker can be used for consistent build environments. ```bash # Build for x86_64 cargo build --release --target x86_64-unknown-linux-gnu # Or use Docker for consistent builds docker run --rm -v $(pwd):/app -w /app rust:latest cargo build --release ``` -------------------------------- ### Generate Fish Shell Completions for DotState Source: https://github.com/serkanyersen/dotstate/blob/main/README.md Pipe the output of 'dotstate completions fish' to 'source' to enable tab completion in Fish shell. ```bash dotstate completions fish | source ``` -------------------------------- ### Clone DotState Repository Source: https://github.com/serkanyersen/dotstate/blob/main/INSTALL.md Clone the DotState source code repository using Git. This is the first step when building from source. ```bash git clone https://github.com/serkanyersen/dotstate.git cd dotstate ``` -------------------------------- ### Build Release Binaries for macOS Source: https://github.com/serkanyersen/dotstate/blob/main/PUBLISHING.md Compile the project in release mode for macOS, targeting both Apple Silicon and Intel architectures. ```bash # Build for Apple Silicon cargo build --release --target aarch64-apple-darwin # Build for Intel cargo build --release --target x86_64-apple-darwin ``` -------------------------------- ### Upgrade DotState Source: https://github.com/serkanyersen/dotstate/blob/main/README.md Check for available updates for DotState and upgrade to the latest version. ```bash dotstate upgrade ``` -------------------------------- ### Login to crates.io Source: https://github.com/serkanyersen/dotstate/blob/main/PUBLISHING.md Log in to crates.io using your API token to enable publishing. Ensure you have an account and token from crates.io. ```bash cargo login YOUR_API_TOKEN ``` -------------------------------- ### Build DotState in Release Mode Source: https://github.com/serkanyersen/dotstate/blob/main/INSTALL.md Compile the DotState project in release mode using Cargo. This command optimizes the build for performance and creates an executable in the target directory. ```bash cargo build --release ``` -------------------------------- ### Set Keymap Preset Source: https://github.com/serkanyersen/dotstate/blob/main/README.md Configure the default keyboard shortcut preset by editing the `config.toml` file. Choose from 'standard', 'vim', or 'emacs'. ```toml [keymap] preset = "vim" # Options: "standard", "vim", "emacs" ``` -------------------------------- ### Rust Coding Standards Source: https://github.com/serkanyersen/dotstate/blob/main/CONTRIBUTING.md Follow Rust API Guidelines and use `cargo fmt` for formatting and `cargo clippy` for linting. ```bash # Format code cargo fmt # Lint code cargo clippy ``` -------------------------------- ### Generate Bash Shell Completions for DotState Source: https://github.com/serkanyersen/dotstate/blob/main/README.md Source the output of 'dotstate completions bash' to enable tab completion in Bash. ```bash source <(dotstate completions bash) ``` -------------------------------- ### Sync DotState Repository Source: https://github.com/serkanyersen/dotstate/blob/main/README.md The 'sync' command commits local changes, pulls remote updates, and pushes local commits to the remote repository. ```bash dotstate sync ``` -------------------------------- ### Set GitHub Token Environment Variable Source: https://github.com/serkanyersen/dotstate/blob/main/README.md Configure your GitHub Personal Access Token using an environment variable. This method is recommended for automation and takes precedence over config file settings. ```bash export DOTSTATE_GITHUB_TOKEN=ghp_your_token_here # or for fine-grained tokens: export DOTSTATE_GITHUB_TOKEN=github_pat_your_token_here ``` -------------------------------- ### Set DotState UI Theme Source: https://github.com/serkanyersen/dotstate/blob/main/README.md Configure the visual theme for the DotState UI by editing the configuration file. Supports various predefined themes and a no-color option. ```toml theme = "dark" # Default dark theme theme = "light" # For light terminal backgrounds theme = "midnight" # Deep dark blue theme theme = "solarized-dark" # Solarized Dark theme = "solarized-light" # Solarized Light theme = "gruvbox-dark" # Gruvbox Dark (warm, retro) theme = "gruvbox-light" # Gruvbox Light theme = "catppuccin-mocha" # Catppuccin Mocha (pastel dark) theme = "catppuccin-latte" # Catppuccin Latte (pastel light) theme = "tokyonight-dark" # Tokyo Night (city-lights dark) theme = "tokyonight-light" # Tokyo Night Light theme = "nocolor" # Disable all UI colors (same as NO_COLOR=1 / --no-colors) ``` -------------------------------- ### Generate Zsh Shell Completions for DotState Source: https://github.com/serkanyersen/dotstate/blob/main/README.md Source the output of 'dotstate completions zsh' to enable tab completion in Zsh. ```bash source <(dotstate completions zsh) ``` -------------------------------- ### Commit and Tag Version Bump Source: https://github.com/serkanyersen/dotstate/blob/main/PUBLISHING.md Stage changes, commit them with a descriptive message, and create a Git tag for the new version. Finally, push the changes and tags to the remote repository. ```bash git add Cargo.toml CHANGELOG.md git commit -m "Bump version to 0.1.1" git tag -a v0.1.1 -m "Release v0.1.1" git push origin main --tags ``` -------------------------------- ### Sync DotState with Custom Commit Message Source: https://github.com/serkanyersen/dotstate/blob/main/README.md Provide a custom commit message when syncing using the '-m' flag with the 'sync' command. ```bash dotstate sync -m "My custom commit message" ``` -------------------------------- ### Show Current DotState Profile Source: https://github.com/serkanyersen/dotstate/blob/main/README.md Display the name of the currently active profile using the 'profile' command. ```bash dotstate profile ``` -------------------------------- ### Custom Key Binding Overrides Source: https://github.com/serkanyersen/dotstate/blob/main/README.md Define custom key bindings to override default actions. Overrides take precedence over preset bindings and shadow them for the specified action. ```toml [keymap] preset = "vim" # Override 'x' to quit instead of 'q' [[keymap.overrides]] key = "x" action = "quit" # Override 'w' to move up instead of 'k' [[keymap.overrides]] key = "w" action = "move_up" # Use Ctrl+H for help [[keymap.overrides]] key = "ctrl+h" action = "help" ``` -------------------------------- ### Check for DotState Updates Source: https://github.com/serkanyersen/dotstate/blob/main/README.md Command to check for DotState updates. Use the interactive mode to be prompted for upgrade, or the check-only mode to silently verify. ```bash # Check for updates interactively dotstate upgrade # Just check without prompting dotstate upgrade --check ``` -------------------------------- ### Switch DotState Profile Source: https://github.com/serkanyersen/dotstate/blob/main/README.md Change the active profile to another one using the 'profile switch' command followed by the profile name. ```bash dotstate profile switch work ``` -------------------------------- ### Clean and Rebuild DotState Source: https://github.com/serkanyersen/dotstate/blob/main/INSTALL.md Clean the build artifacts and then rebuild the DotState project in release mode. This is a common step to resolve build errors after making changes or encountering issues. ```bash cargo clean cargo build --release ``` -------------------------------- ### Reload Shell Configuration Source: https://github.com/serkanyersen/dotstate/blob/main/INSTALL.md Apply changes to your shell's configuration file (e.g., .zshrc or .bashrc) by sourcing it. This is necessary after modifying the PATH or other environment variables. ```bash source ~/.zshrc # or ~/.bashrc ``` -------------------------------- ### Calculate SHA256 for Homebrew Formula Source: https://github.com/serkanyersen/dotstate/blob/main/PUBLISHING.md Calculate the SHA256 checksum for a release tarball. This is required when creating or updating a Homebrew formula. ```bash # After creating a release on GitHub wget https://github.com/serkanyersen/dotstate/archive/v0.1.0.tar.gz shasum -a 256 v0.1.0.tar.gz ``` -------------------------------- ### Configure DotState Update Checks Source: https://github.com/serkanyersen/dotstate/blob/main/README.md Customize update check behavior in the DotState configuration file. You can disable checks or set the interval for checking. ```toml [updates] check_enabled = true # Set to false to disable update checks check_interval_hours = 24 # How often to check (default: 24 hours) ``` -------------------------------- ### Check if Cargo Bin Directory is in PATH Source: https://github.com/serkanyersen/dotstate/blob/main/INSTALL.md Verify if the Cargo binary directory is included in your system's PATH environment variable. This is a common troubleshooting step for 'command not found' errors. ```bash echo $PATH | grep cargo ``` -------------------------------- ### Update Version in Cargo.toml Source: https://github.com/serkanyersen/dotstate/blob/main/PUBLISHING.md Modify the version number in the `Cargo.toml` file to reflect the new release. This is a crucial step in the version bumping process. ```toml version = "0.1.1" ``` -------------------------------- ### Deactivate DotState Symlinks Source: https://github.com/serkanyersen/dotstate/blob/main/README.md Use the 'deactivate' command to remove symlinks and restore original files. ```bash dotstate deactivate ``` -------------------------------- ### Disable DotState UI Colors Source: https://github.com/serkanyersen/dotstate/blob/main/README.md Disable all UI colors in DotState using either a CLI flag or an environment variable. This ensures a monochrome output. ```bash dotstate --no-colors ``` ```bash NO_COLOR=1 dotstate ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.