# [Usage](../../../usage.md) > Framework publish

Use `kfw:publish` when framework CSS, JS, fonts, themes, or default configs need to be republished. Unlike `kfw:update` (full workflow), it handles only the publishing stage plus asset recompilation.

---

## Method

### `php artisan kfw:publish`

#### Arguments

None.

#### What it does

- Removes legacy compiled directories `public/vendor/k-framework/css/` and `public/vendor/k-framework/js/` when present.
- Publishes framework assets (`custom-css`, `custom-js`, `fonts`, `themes`) to `public/vendor/k-framework` with force overwrite.
- Publishes `src/config` to `config/k-framework` without force, so local customizations are preserved.
- Calls `kfw:refresh-assets` to bump the asset version and recompile bundles.

---

## Output

Console lines for folder removal, asset publishing, config publishing, and asset cache renewal.

---

## Example

```bash
php artisan kfw:publish
```

Publish without running migrations or config key merging. For the full workflow, use `kfw:update`.

## See also

- [Usage](../../../usage.md)
- [Framework update](kfw_update.md) — full update workflow
- [Framework refresh assets](kfw_refresh_assets.md) — bundle recompilation stage
- [Installation](../../../installation.md) — first-install publishing
