- Use
--filterto redeploy one or more specific modules on top of the current platform artifact. - Use
@keystroke ignorecomments to keep unfinished modules out of local builds or deploys.
Filtered deploys
A filtered deploy rebuilds only the modules you name and overlays them onto the active deployed artifact.keystroke projects link --project <slug>, or pass --project on each command.
Filters use exact build entry keys:
| Source file | Filter key |
|---|---|
src/agents/support.ts | agents/support |
src/workflows/morning-check.ts | workflows/morning-check |
src/triggers/incoming-message.ts | triggers/incoming-message |
When to use a filtered deploy
Use--filter when you changed one or a few deployable modules:
- A single agent prompt or tool list
- A workflow implementation
- A trigger module
- A small set of related modules you want to ship together
keystroke.config.ts- Shared skills or files
- Built-in integration routes
- Anything that should refresh every module in the runtime
Keep drafts out of deploys
Add an ignore directive at the top of an agent, workflow, or trigger module when it should not be included.@keystroke ignore for code that should be skipped everywhere: local build, keystroke dev, keystroke start, and deploy.
@keystroke ignore:deploy for code that can run locally but should not ship to the platform yet.
| Directive | Local build and dev | Deploy |
|---|---|---|
// @keystroke ignore | Skipped | Skipped |
// @keystroke ignore:deploy | Included | Skipped |
Import guard
A shipped module cannot import a module marked with either ignore directive. If it does, the build fails. This prevents production code from depending on a file that Keystroke is about to omit. If a trigger attaches to an ignored workflow, give the trigger the same ignore treatment so the project behaves consistently across local builds and deploys.How filtered deploys and ignores differ
Filtered deploys and ignore directives solve different problems:| Need | Use |
|---|---|
| Ship one live module without rebuilding everything | keystroke deploy --filter <entry> |
| Keep broken or experimental code out of all builds | // @keystroke ignore |
| Run code locally but keep it out of the platform | // @keystroke ignore:deploy |
ignore:deploy omits a module from a new full deploy. It does not preserve the previous production version of that module. If you want to update one module while carrying forward the rest of production, use a filtered deploy.
Verify the result
After a filtered deploy, check that the new artifact is active and run the changed module:Next steps
Deploy a project
Learn the full deploy flow and when to use filtered deploys.
Build agents
Define agent modules that can be deployed individually.
Build workflows
Define workflow modules that can be deployed individually.
CLI reference
See the deploy command reference.