Using plugins directly from your repo
Instead of publishing plugins to the Tessl Registry, you can also check them directly into your repository. This is a simpler way to distribute plugins together with your code.
When to check plugins into your repo vs using the registry
Check plugins into your repo when:
- You want a simple distribution method - plugins travel automatically with your code
- Context is tightly coupled to this specific codebase
- You don't need version management across multiple projects
Use the Tessl Registry when:
- You need centralized management and updates
- You want evaluation and review workflows
- You need automated distribution across multiple repositories
- You want to keep plugins up to date independently from code changes
How it works
Repository-specific plugins are committed to your codebase and referenced in tessl.json with a file: source. Team members automatically get the plugin when they clone the repo and run tessl install.
Setup
1. Create the plugin in your repository
This creates the plugin structure for skills or rules:
2. Install it locally
Add the plugin to your project by referencing it in tessl.json with a file: source:
This updates your tessl.json:
3. Commit both to version control
Team workflow
When team members clone the repository:
The plugin installs automatically from the file: source in tessl.json. Everyone gets the same codebase-specific context.
Updating the plugin
Changes to the plugin go through your normal code review process:
- Edit plugin content (rules, skills)
- Commit changes:
git commit -m "Update architecture docs" - Create pull request
- Team reviews context changes like code changes
- Merge to main
Team members get updates when they pull and run tessl install.
Benefits
- Versioned with code - plugin evolves alongside the codebase
- Automatic distribution - Team gets context when they clone
- Code review - Changes to patterns/architecture reviewed via PR
- Private - Context stays internal, no publishing needed
- Self-documenting - Codebase carries its own context
Example: Monorepo workspaces
In monorepos, create workspace-specific plugins:
Each workspace's tessl.json references its local plugin and any shared plugins:
Related
- Developing plugins locally - Create and test plugins with local development workflow before checking them into your repo
- Configuration files - Complete plugin.json reference