This is the Community edition of wonopcode - the open-source AI-powered coding assistant.
This crate is part of the wonop-ng monorepo. Key paths:
- ACE configuration:
../../../../.ace/(monorepo root) - Specifications:
../../../../specs/(monorepo root) - Feature tracking:
../../../../workspace/(monorepo root)
This project uses the ACE (Agentic Code Engine) framework for structured development workflows.
YOU MUST FOLLOW THE ACE WORKFLOW. Do not skip steps or implement features without proper requirements gathering and approval.
- Create the feature: Use
ace_create_featurewith title and description - Elicit requirements using the elicitation tools:
- Call
ace_elicitto get suggested questions and see progress - Ask the user ONE question at a time
- After each answer, call
ace_record_responseto record it - Cover these categories: actors, operations, data, api, business_rules, flows, constraints, edge_cases, acceptance, dependencies
- When you have enough info, call
ace_complete_elicitation
- Call
- Document requirements: Use
ace_create_artifactwith type "requirement" - Request approval: Tell the user you have documented the requirements and ask them to review
- Wait for approval: Use
ace_get_checkpointto check status. Do NOT proceed until approved.
The workflow has mandatory human approval checkpoints. YOU MUST STOP AND WAIT at each checkpoint:
| Checkpoint | What to Review | Who Approves |
|---|---|---|
| Requirements Review | Formal requirements capture stakeholder needs | Product Owner |
| Use Case Review | Use cases cover all scenarios | Product Owner |
| Architecture Review | Component mapping and interfaces | Architect |
| Design Review | Detailed designs are implementable | Tech Lead |
| Test Specification Review | Test coverage is complete | Tech Lead |
| Verification | Tests pass and coverage acceptable | Tech Lead |
| Deployment Review | Deployment plan is safe | Ops Lead |
At each checkpoint:
- Present your artifacts to the user
- Ask explicitly: "Please review and approve, request revisions, or reject"
- Use
ace_submit_checkpointwith the user's decision - If revision requested, address feedback and re-submit
- Only proceed to next phase after explicit approval
intake → elicitation → elaboration → requirements_review
→ use_case_modeling → use_case_review
→ architectural_analysis → architecture_review
→ detailed_design → design_review
→ test_specification → test_review
→ implementation → test_execution → verification
→ deployment_planning → deployment_review → deployment → done
When gathering requirements, follow this process:
- Understand the context: Ask about the business problem and users
- Identify actors: Who will use this feature?
- Define scope: What is in scope vs out of scope?
- Capture acceptance criteria: What must be true for this to be "done"?
- Identify edge cases: What could go wrong?
- Document assumptions: What are we assuming?
- Note dependencies: What does this depend on?
Example questions to ask:
- "Can you describe the user journey for this feature?"
- "What should happen if [edge case]?"
- "Are there any performance requirements?"
- "How should errors be handled?"
- "What existing functionality does this interact with?"
Feature Lifecycle:
ace_create_feature- Create a new feature requestace_feature_status- Get current state and historyace_get_checkpoint- Get checkpoint awaiting reviewace_submit_checkpoint- Submit review decision (approve/revise/reject)
Elicitation (Requirements Gathering):
ace_elicit- Get guidance on what questions to ask, see progressace_record_response- Record user's answer to a questionace_complete_elicitation- Mark elicitation complete, transition to elaboration
Artifacts:
ace_create_artifact- Create requirement, use-case, design, test, or ADRace_read_artifact- Read artifact contentace_promote- Move from staging to specs after approvalace_build_trace_matrix- Show requirements traceability
Execution:
ace_run_hook- Execute test, coverage, or deploy hooksace_check_gates- Verify quality gates are met
Planning:
ace_backlog_add- Add items to backlogace_backlog_list- List backlog itemsace_iteration_create- Create sprint/iterationace_iteration_plan- Assign items to iteration
../../../../.ace/config.yaml- Hook and gate configuration../../../../.ace/workflows/feature.yaml- Workflow state definitions../../../../workspace/queue/- Features awaiting work../../../../workspace/status/- Feature status tracking../../../../specs/- Approved specification artifacts
The Community edition includes 23 crates:
- wonopcode: Main CLI binary
- wonopcode-core: Core business logic
- wonopcode-util: Shared utilities
- wonopcode-storage: Storage layer
- wonopcode-provider: AI provider abstraction (Anthropic, OpenAI, etc.)
- wonopcode-tools: Tool implementations (bash, edit, read, write, etc.)
- wonopcode-tui: Terminal UI
- wonopcode-tui-core/render/widgets/dialog/messages: TUI sub-crates
- wonopcode-server: HTTP server
- wonopcode-mcp: Model Context Protocol client
- wonopcode-lsp: Language Server Protocol client
- wonopcode-acp: Agent Client Protocol for IDE integration
- wonopcode-auth: Authentication storage
- wonopcode-sandbox: Sandboxed execution (Docker/Lima/Podman)
- wonopcode-protocol: Client-server protocol types
- wonopcode-snapshot: File snapshot system for undo/redo
- wonopcode-discover: mDNS service discovery
- wonopcode-test-utils: Testing utilities