Build your first feature
Build one feature, then choose the capabilities it needs.
Start with a working app, then grow one Counter plugin. Each step adds just one idea. If you want the overview first, read What is BitaKit?.
| Level | Step | What you build |
|---|---|---|
| Basic | 1. Create an app | An application with BitaKit connected. |
| Basic | 2. Add a page | A Counter page from one file. |
| Basic | 3. Add state | One shared value and a method to change it. |
| Basic | 4. Add an Action | An Action that increments the count. |
| Intermediate | 5. Add a preference | A saved setting; App Preferences renders its page. |
| Advanced | 6. Announce what happened | A typed event other plugins can listen to. |
| Advanced | 7. Add an extension point | A toolbar other plugins can add Actions to. |
| Advanced | 8. Extend from a second plugin | A second plugin that reacts and adds an Action, without editing the Counter. |
The Basic steps are a working feature. Settings come next; events and slots matter once other plugins should react to or extend your feature.
Start: Create your app →
For a visual overview, open the architecture map. It shows how the layers fit together and links to the relevant step and state diagrams.
A small vocabulary
| Concept | Its job |
|---|---|
| Plugin | Groups one feature's files |
| Service | Owns shared behavior and state |
| Action | Defines an operation and how a control presents it |
| Setting | Holds a user preference in the runtime's settings store |
| Event | Announces that something happened, for other plugins to react to |
| Slot | Names a place in your UI where other plugins can add content |
Control → Action → Service → Store
↓
PageFile discovery connects these parts in a configured app. You do not write a registry or mount another provider for each plugin.
Use Patterns at a glance to compare execution, observation and communication.
Choose the next topic when you need it
| Need | Guide |
|---|---|
| Learn all supported file names | Discovery |
| Notify another plugin | Events |
| Set developer defaults | Configuration |
| Add a theme or customize Appearance | Themes and appearance |
| Query related Actions | Action groups |
| Add dependencies or cleanup | Service reference |
| Add, enable, disable or remove plugins | Plugin manager |
| Activate a trusted package | Package manager |
| Inspect or update a running plugin | Runtime management |
| Own a runtime outside a generated app | Manual composition |
Continue with Guides, Plugin manager or Package manager in the main sidebar when you need them. They and the API reference are lookup material, not prerequisites for your first feature.