Quick reference for what to work on next. See DEVELOPMENT_ROADMAP.md for the complete plan.
Last Updated: 2026-01-20
These are blocking the ecosystem and should be addressed immediately.
File: packages/spec/src/ui/widget.zod.ts
Effort: 1-2 days
Blocks: Custom field components, plugin UI extensions
Dependencies: None
Why Critical: Third-party developers cannot build custom field components without this contract.
Definition:
export const FieldWidgetPropsSchema = z.object({
value: z.any(),
onChange: z.function(),
readonly: z.boolean().default(false),
required: z.boolean().default(false),
error: z.string().optional(),
field: FieldSchema,
record: z.record(z.any()).optional(),
options: z.record(z.any()).optional(),
});
export type FieldWidgetProps = z.infer<typeof FieldWidgetPropsSchema>;File: packages/spec/src/system/plugin.zod.ts
Effort: 2-3 days
Blocks: Plugin ecosystem, marketplace
Dependencies: None
Why Critical: This is the contract between ObjectOS and all plugins. Without it, plugins cannot be loaded.
Definition:
export const PluginContextSchema = z.object({
ql: z.any().describe('ObjectQL data access API'),
os: z.any().describe('ObjectOS system API'),
logger: z.any().describe('Logging interface'),
metadata: z.any().describe('Metadata registry'),
events: z.any().describe('Event bus'),
});
export const PluginLifecycleSchema = z.object({
onInstall: z.function().optional(),
onEnable: z.function().optional(),
onDisable: z.function().optional(),
onUninstall: z.function().optional(),
onUpgrade: z.function().optional(),
});File: packages/spec/src/system/driver.zod.ts
Effort: 3-4 days
Blocks: Multi-database support, data virtualization
Dependencies: None
Why Critical: This enables ObjectQL to work with any database through a unified interface.
Definition:
export const DriverInterfaceSchema = z.object({
name: z.string(),
version: z.string(),
// CRUD
find: z.function(),
findOne: z.function(),
create: z.function(),
update: z.function(),
delete: z.function(),
bulkCreate: z.function(),
bulkUpdate: z.function(),
bulkDelete: z.function(),
// DDL
syncSchema: z.function(),
dropTable: z.function(),
// Transaction
beginTransaction: z.function().optional(),
commit: z.function().optional(),
rollback: z.function().optional(),
// Capabilities
supports: z.object({
transactions: z.boolean(),
joins: z.boolean(),
fullTextSearch: z.boolean(),
jsonFields: z.boolean(),
arrayFields: z.boolean(),
}),
});File: packages/spec/src/data/trigger.zod.ts
Effort: 1-2 days
Blocks: Business logic, trigger code generation
Dependencies: None
Why Important: Standardizes how trigger code is written, enabling AI code generation.
Definition:
export const TriggerContextSchema = z.object({
action: z.enum(['insert', 'update', 'delete']),
timing: z.enum(['before', 'after']),
doc: z.record(z.any()),
previousDoc: z.record(z.any()).optional(),
userId: z.string(),
user: z.record(z.any()),
ql: z.any(),
logger: z.any(),
addError: z.function(),
getOldValue: z.function(),
});Files: packages/spec/src/data/query.zod.ts
Effort: 3-5 days
Value: Enables complex analytics and reporting
Features:
- Aggregation (GROUP BY, HAVING)
- Joins (INNER, LEFT, RIGHT)
- Subqueries
- Window functions
Files: packages/spec/src/data/validation.zod.ts
Effort: 2-3 days
Value: Richer data quality controls
Features:
- Cross-field validation ("end_date > start_date")
- Async validation (remote uniqueness checks)
- Custom validator functions
- Conditional rules
Files: packages/spec/src/ui/theme.zod.ts (new)
Effort: 2-3 days
Value: Brand customization for customers
Features:
- Color palettes
- Typography settings
- Spacing units
- Border radius, shadows
Files: packages/spec/src/data/field.zod.ts
Effort: 2-3 days
Value: More rich UI components
New Types:
location(GPS coordinates)address(structured)richtext(WYSIWYG)code(syntax highlighting)color(color picker)rating(stars)signature(digital signature)
Files: All *.test.ts files
Current: ~40% coverage
Target: 80%+ coverage
Effort: 1 week
Focus Areas:
- Edge case validation
- Error handling
- Schema composition
- Type inference
Effort: 3-5 days
Value: Better developer onboarding
Deliverables:
- Auto-generated API docs from Zod schemas
- Interactive examples for each schema
- Code snippets in TypeScript, JavaScript, JSON
- Visual diagrams for complex schemas
Files: packages/spec/src/testing/ (new)
Effort: 2-3 days
Value: Easier testing for consumers
Features:
- Generate fake data matching schema
- Faker.js integration
- Seed data for examples
Files: packages/spec/src/system/marketplace.zod.ts (new)
Effort: 2-3 days
Blocks: App store, discovery
Features:
- Listing metadata
- Screenshots, ratings
- Pricing models
- Compatibility matrix
Files: packages/spec/src/system/tenant.zod.ts (new)
Effort: 3-5 days
Blocks: SaaS deployments
Features:
- Tenant isolation strategies
- Shared vs isolated schemas
- Tenant-specific customizations
Files: packages/spec/src/system/realtime.zod.ts (new)
Effort: 3-4 days
Value: Live collaboration
Features:
- WebSocket event schema
- Presence detection
- Optimistic updates
- Conflict resolution
Files: packages/spec/src/data/field.zod.ts (enhance)
Effort: 2-3 days
Value: Compliance (HIPAA, PCI)
Features:
- Mark fields as encrypted
- Key rotation policies
- Searchable encryption config
Files: packages/spec/src/system/compliance.zod.ts (new)
Effort: 5-7 days
Value: Enterprise sales
Features:
- GDPR consent tracking
- HIPAA audit trails
- SOC2 compliance checks
- Data residency rules
Files: packages/spec/src/system/retention.zod.ts (new)
Effort: 2-3 days
Value: Legal compliance
Features:
- Archival rules by object
- Purge schedules
- Legal hold configuration
Files: packages/spec/src/ai/model.zod.ts (new)
Effort: 3-4 days
Value: Pluggable AI models
Features:
- LLM configuration (OpenAI, Anthropic, local)
- Prompt template management
- Token usage tracking
- Model versioning
Files: packages/spec/src/ai/rag.zod.ts (new)
Effort: 4-5 days
Value: Context-aware AI
Features:
- Vector DB configuration
- Embedding model selection
- Chunk size, overlap settings
- Retrieval strategy
Files: packages/spec/src/ai/nlq.zod.ts (new)
Effort: 5-7 days
Value: End-user empowerment
Features:
- NLQ to AST transformation rules
- Intent classification
- Entity extraction
- Query refinement
- Field Widget Contract
- Plugin Lifecycle Interface
- Driver Interface
- Trigger Context Protocol
- Tests for all above
- Documentation updates
Goal: Unblock plugin ecosystem and custom UI development.
- Query aggregation support
- Query join support
- Cross-field validation
- Async validation
- Enhanced field types (5-10 new types)
- Comprehensive examples
Goal: Enable complex analytics and richer data validation.
- Test coverage to 80%+
- Mock data generator
- Interactive documentation
- OpenAPI/GraphQL schema generation
- Code examples for every schema
- Video tutorials (3-5 videos)
Goal: Make ObjectStack easy to learn and use.
- Plugin marketplace schema
- Multi-tenancy protocol
- Real-time sync protocol
- Theme configuration
- Notification protocol
- Attachment protocol
Goal: Platform completeness for production deployments.
- Field-level encryption
- Compliance framework (GDPR, HIPAA)
- Data retention policy
- Audit log enhancements
- Performance monitoring schema
- Disaster recovery protocol
Goal: Enterprise sales readiness.
- AI model registry
- RAG pipeline schema
- Natural language query
- AI workflow automation
- Recommendation engine
- Predictive analytics
Goal: Position as the most AI-friendly platform.
- ✅ All P0 protocols implemented and tested
- ✅ 80%+ test coverage
- ✅ Basic plugin ecosystem functional
- ✅ Driver interface allows multi-database
- ✅ Advanced query capabilities (joins, aggregations)
- ✅ Multi-tenancy support
- ✅ Real-time sync
- ✅ 20+ plugins in ecosystem
- ✅ Comprehensive documentation
- ✅ Compliance framework (GDPR, HIPAA, SOC2)
- ✅ Advanced security features
- ✅ Performance optimization
- ✅ First enterprise customer deployment
- ✅ 50+ plugins in marketplace
- ✅ AI model registry
- ✅ RAG pipeline
- ✅ Natural language query
- ✅ AI-generated applications
- ✅ 100+ plugins in marketplace
| Metric | Current | Q1 Target | Q2 Target | Q3 Target | Q4 Target |
|---|---|---|---|---|---|
| Protocol Completeness | 60% | 85% | 95% | 98% | 100% |
| Test Coverage | 40% | 80% | 85% | 90% | 95% |
| Documentation Pages | 50 | 100 | 150 | 200 | 250 |
| Community Plugins | 0 | 5 | 20 | 50 | 100 |
| Example Apps | 2 | 5 | 10 | 15 | 20 |
| GitHub Stars | - | 100 | 500 | 1000 | 2500 |
| Monthly NPM Downloads | - | 100 | 500 | 2000 | 5000 |
- Choose an item from this priority list
- Check Issues to see if someone is already working on it
- Comment on the issue or create a new one to claim it
- Fork the repository
- Create a branch:
git checkout -b feature/widget-contract - Implement the Zod schema in
packages/spec/src/ - Write comprehensive tests in
*.test.ts - Update documentation
- Run
pnpm buildto generate JSON schemas - Submit a pull request
- Zod schema follows naming conventions (camelCase for config, snake_case for identifiers)
- Comprehensive JSDoc comments with
@description - Unit tests with 80%+ coverage
- Documentation with examples
- JSON schema generated successfully
- All existing tests pass
Questions? Open a GitHub Discussion
Bugs? Open a GitHub Issue
Feature Requests? Use the protocol-proposal label